我有两个域,指向一个托管的根;
firstdomainname.com和seconddomain.com将指向一个根。
像
mymaindomain.com
mymaindomain.com/first-domain /
mymaindomain.com/second-domain /
我现有的htaccess代码是(不工作)
#two domains served from one root..
RewriteCond %{HTTP_HOST} firstdomainname.com
RewriteCond %{REQUEST_URI} !^/first-domain
RewriteRule ^(.*)$ first-domain/$1 [L]
RewriteCond %{HTTP_HOST} seconddomain.com
RewriteCond %{REQUEST_URI} !^second-domain
RewriteRule ^(.*)$ second-domain/$1 [L]
有可能吗?
答案 0 :(得分:0)
不确定这是否可以解决您的问题,但您错过!^two
中的正斜杠应为!^/two
答案 1 :(得分:0)
使用以下规则:
RewriteCond %{HTTP_HOST} ^firstdomainname\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/first-domain/ [NC]
RewriteRule ^(.*)$ /first-domain/$1 [L]
RewriteCond %{HTTP_HOST} ^seconddomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/second-domain/ [NC]
RewriteRule ^(.*)$ /second-domain/$1 [L]
答案 2 :(得分:0)
我使用名称“subsite1”和“subsite2”而不是“firstdomain”和“seconddomain”来保持语义清晰。
下面的这些重写规则将加载正确的内容并强制执行您的子网站域。
# Force subsite domain for subsite directories
RewriteCond %{REQUEST_URI} ^/?subsite1/?(.*)$
RewriteRule .* http://subsite1.com/%1 [R=302,QSA]
RewriteCond %{REQUEST_URI} ^/?subsite2/?(.*)$
RewriteRule .* http://subsite2.com/%1 [R=302,QSA]
# Load appropriate content
RewriteCond %{HTTP_HOST} ^subsite1\.com$
RewriteCond %{REQUEST_URI} ^/?(.*)$
RewriteRule .* /subsite1/%1 [L]
RewriteCond %{HTTP_HOST} ^subsite2\.com$
RewriteCond %{REQUEST_URI} ^/?(.*)$
RewriteRule .* /subsite2/%1 [L]
与您的规则不同,这些规则会阻止像“subsite1.com/subsite1”这样的冗余网址,因为第一组规则中的重写不是以域为条件的。
一旦你测试了这一点,一定要把第一套规则中的R = 302改为R = 301。