问题
i am trying to redirect a subdomain to a subfolder i have 3 sub-domains pointing to a folder named "test" placed on the root (/test)
subdomain1.mysite.com
subdomain2.mysite.com
subdomain3.mysite.com
in test i have 3 folders `/test/subdomain1 , /test/subdomain2, /test/subdomain3`
what i want is that:
when i go to subdomain1.mysite.com it should be reading from: /test/subdomain1
when i go to subdomain2.mysite.com it should be reading from: /test/subdomain2
when i go to subdomain3.mysite.com it should be reading from: /test/subdomain3
here is my htaccess used - placed in the folder "/test" and i think here is the problem!!:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^subdomain1.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain1/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^subdomain2.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain2/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^subdomain2.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain3/$1 [L,QSA]
</IfModule>
i am getting a "500 Internal Server Error" when accessing any subdomain...
does RewriteBase works in subfolders ? if not placed the root ?
any idea?
thanks
回答1:
I believe the 500 error is because you haven't escaped your .
in the URL:
RewriteCond %{HTTP_HOST} ^subdomain1.mysite.com$ [NC]
should be
RewriteCond %{HTTP_HOST} ^subdomain1\.mysite\.com$ [NC]
回答2:
There is an error...
RewriteBase /
RewriteCond %{HTTP_HOST} ^subdomain1.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain1/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^subdomain2.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain2/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^subdomain2.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain3/$1 [L,QSA]
last 2 lines:
RewriteCond %{HTTP_HOST} ^subdomain2.mysite.com$ [NC]
RewriteRule ^(.*)$ subdomain3/$1 [L,QSA]
subdomain2 instead of subdomain3
来源:https://stackoverflow.com/questions/8324970/redirecting-subdomain-to-subfolders-with-htaccess