Mod rewrite 重定向对root用户的请求,为所有其他用户提供服务

Mod rewrite 重定向对root用户的请求,为所有其他用户提供服务,mod-rewrite,Mod Rewrite,这似乎是大多数问题的反面 这在htaccess文件中 我想重定向我的网站根的所有请求,并正常服务所有其他请求。因此,对mysite.tld(或mysite.tld/index.xxxx)的请求将转到myothersite.tld,对mysite.tld/dir(甚至mysite.tld/file.xxxx)的请求将得到正常服务 如果可能的话,我也想提供自定义错误页面。 我尝试了几种方法: #This one wouldn't trap 404s anyway. RewriteCond %{REQ

这似乎是大多数问题的反面

这在htaccess文件中

我想重定向我的网站根的所有请求,并正常服务所有其他请求。因此,对
mysite.tld
(或
mysite.tld/index.xxxx
)的请求将转到
myothersite.tld
,对
mysite.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]
但这些并不是我想要的

谢谢

格雷格

就这样吧:

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

Jon Lin:这非常有效!目前为止直到我的用户再次使用扳手!