2009-07-17 99 views
0

我在MOD-rewrite.txtURL重写问题重新写入

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重写文件中。

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

您能否澄清一下您使用的重写工具。它是Apache mod重写还是别的? – TonyCool 2009-07-17 07:41:08

+0

我正在使用IIS MOD重写Micronovae公司的产品 – 2009-07-17 08:00:57

回答

0

你想让一台服务器在默认情况下表现为两台不同的服务器,它无法做到这一点。

您必须选择一个作为301重定向的默认值。然后只保留其中一个部分。

然后在页面重写上添加正确的条件。因此,对于espireinfo被蔑视

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前缀。