重定向root请求,为所有其他人提供服务

时间:2012-07-26 22:58:34

标签: mod-rewrite

这似乎与这些问题中的大多数问题相反。

这是一个htaccess文件。

我想重定向我网站根目录的所有请求,并正常提供所有其他请求。因此,对mysite.tld(或mysite.tld/index.xxxx)的请求将转至myothersite.tldmysite.tld/dir(或甚至mysite.tld/file.xxxx)的请求将正常提供。

如果可能的话,我也想提供自定义错误页面。 我尝试了几种方法:

#This one wouldn't trap 404s anyway.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ http://myothersite.tld [L,R=301]

这一个:

 RewriteCond %{HTTP_HOST} ^mysite.tld
 RewriteRule ^(.*)$ http://myothersite.tld [L,R=301]

但这些并不是我想要的。

谢谢!

格雷格

1 个答案:

答案 0 :(得分:1)

如何:

RewriteCond %{HTTP_HOST} ^mysite.tld
RewriteRule ^$ http://myothersite.tld [L,R=301]

RewriteCond %{HTTP_HOST} ^mysite.tld
RewriteRule ^index\.(html|php|htm)$ http://myothersite.tld [L,R=301]

如果这是在您的服务器或vhost配置中,请更改正则表达式以包含前导斜杠:^/$^/index