0

ドキュメントルートに3つのフォルダがあります-

localhost/myMainProject/   
localhost/myMainProjectSubdomain/  
localhost/myThirdProject/

次のURLマッピングを実現したい-

www.mymainproject.com ---> localhost/myMainProject/
mysubdomain.mymainproject.com ---> localhost/myMainProjectSubdomain/
www.mythirdproject.com ---> localhost/myThirdProject/

ホストファイルを次のように変更しようとしました:

127.0.0.1/myMainProjectSubdomain mysubdomain.mymainproject.com
127.0.0.1/myMainProject www.mymainproject.com 
127.0.0.1/myThirdProject www.mythirdproject.com

しかし、これは機能しません。.htaccessファイルか何かをどこかに作成する必要があると思いますが、それがどのように機能するのかわかりません。

これは可能ですか?これを実現する方法を教えてください。ありがとう。

4

2 に答える 2

2

これをドキュメントルートのhtaccessファイルに入れます。

RewriteEngine On

# for www.mymainproject.com
RewriteCond %{HTTP_HOST} ^(www\.)?mymainproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myMainProject
RewriteRule ^(.*)$ /myMainProject/$1 [L]

# for mysubdomain.mymainproject.com
RewriteCond %{HTTP_HOST} ^mysubdomain.mymainproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myMainProjectSubdomain
RewriteRule ^(.*)$ /myMainProjectSubdomain/$1 [L]

# for www.mythirdproject.com
RewriteCond %{HTTP_HOST} ^(www\.)?mythirdproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myThirdProject
RewriteRule ^(.*)$ /myThirdProject/$1 [L]
于 2012-08-09T03:09:48.900 に答える
0

最後に、私がそれをどのように機能させたか:

ホストファイル内-

127.0.0.1 mysubdomain.mymainproject.com
127.0.0.1 www.mymainproject.com 
127.0.0.1 mymainproject.com 
127.0.0.1 www.mythirdproject.com
127.0.0.1 mythirdproject.com

ドキュメントルート内-(承認された回答に記載されているように)

RewriteEngine On

# for www.mymainproject.com
RewriteCond %{HTTP_HOST} ^(www\.)?mymainproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myMainProject
RewriteRule ^(.*)$ /myMainProject/$1 [L]

# for mysubdomain.mymainproject.com
RewriteCond %{HTTP_HOST} ^mysubdomain.mymainproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myMainProjectSubdomain
RewriteRule ^(.*)$ /myMainProjectSubdomain/$1 [L]

# for www.mythirdproject.com
RewriteCond %{HTTP_HOST} ^(www\.)?mythirdproject\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/myThirdProject
RewriteRule ^(.*)$ /myThirdProject/$1 [L]

プロジェクトフォルダ内に、別の.htaccessファイルを作成する必要がありました-

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt|images|stylesheets|javascript|captcha|js|css|table-images)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

これで、URLが完全にマッピングされます。例えば。

www.mymainproject.com/welcome-> localhost / myMainProject / welcome

于 2012-08-09T03:59:29.570 に答える