我在mod-rewrite.txt中有以下代码
RewriteEngine On
RewriteRule /\.htaccess$ - [F]
RewriteCond %{HTTP_HOST} !www\.espireinfo\.com$
RewriteRule ^(.*)$ http://www\.espireinfo\.com$1 [R=301,L]
RewriteRule ^/schools/index.aspx$ /schools/english-language.aspx [R=301,L]
RewriteRule ^/about/Contact.aspx$ /about/contact.aspx [R=301,L]
正如您所看到的,上面使用 www.espireinfo.com 域进行重写。我希望使用以下配置的另一个域 www.rai.com 写入相同的mod-rewrite文件。
RewriteCond %{HTTP_HOST} !www\.rai\.com$
RewriteRule ^(.*)$ http://www\.rai\.com$1 [R=301,L]
RewriteRule ^/schools/index.aspx$ /schools/eng-lang.aspx [R=301,L]
RewriteRule ^/about/Contact.aspx$ /about/contactdetails.aspx [R=301,L]
所以我的完整mod-rewrite.txt文件将如下所示:
RewriteEngine On
RewriteRule /\.htaccess$ - [F]
RewriteCond %{HTTP_HOST} !www\.espireinfo\.com$
RewriteRule ^(.*)$ http://www\.espireinfo\.com$1 [R=301,L]
RewriteRule ^/schools/index.aspx$ /schools/english-language.aspx [R=301,L]
RewriteRule ^/about/Contact.aspx$ /about/contact.aspx [R=301,L]
RewriteCond %{HTTP_HOST} !www\.rai\.com$
RewriteRule ^(.*)$ http://www\.rai\.com$1 [R=301,L]
RewriteRule ^/schools/index.aspx$ /schools/eng-lang.aspx [R=301,L]
RewriteRule ^/about/Contact.aspx$ /about/contactdetails.aspx [R=301,L]
我试过这个,但它只响应第一个域 www.espireinfo.com 。
是否可以在相同的mod-rewrite.txt文件中控制具有相同重写的两个域。
请建议我可以做些什么来解决这个问题。我将非常感谢你的帮助!
答案 0 :(得分:0)
默认情况下,您希望一台服务器表现为两台不同的服务器,它无法做到这一点。
您必须选择一个作为301重定向的默认值。然后只保留其中一个部分。
然后在页面重写上添加正确的条件。因此espireinfo是defualt
RewriteEngine On
RewriteRule /\.htaccess$ - [F]
# espireinfo is the default server
RewriteCond %{HTTP_HOST} !www\.espireinfo\.com$
RewriteCond %{HTTP_HOST} !www\.rai\.com$
RewriteRule ^(.*)$ http://www\.espireinfo\.com$1 [R=301,L]
# espireinfo.com rewrites
RewriteCond %{HTTP_HOST} www\.espireinfo\.com$
RewriteRule ^/schools/index.aspx$ /schools/english-language.aspx [R=301,L]
RewriteCond %{HTTP_HOST} www\.espireinfo\.com$
RewriteRule ^/about/Contact.aspx$ /about/contact.aspx [R=301,L]
# rai.com rewrites
RewriteRule ^/schools/index.aspx$ /schools/eng-lang.aspx [R=301,L]
RewriteRule ^/about/Contact.aspx$ /about/contactdetails.aspx [R=301,L]
除非我错误地将您的域名重写,即如果您实际上是在尝试强制使用www前缀。