重定向主机中具有多个域的所有URL在同一服务器上

时间:2013-12-23 17:08:08

标签: php regex apache .htaccess mod-rewrite

我有以下问题。

我在godaddy上使用共享服务器。我在同一台服务器上有多个站点。

我需要将其中一个网站的所有网址重定向到同一网站中的另一个网址

我在几个SO答案中找到了这个

Options +FollowSymLinks
rewritecond %{HTTP_HOST} mysite.com [OR]
rewritecond %{REQUEST_URI} !/test.html$
rewriterule ^(.*)$ http://www.mysite.com/test.html [R=permanent,L]

它工作正常,但有一个问题,它也重定向我的所有其他网站。

我该如何解决?我有点被困在这里

编辑 -

htaccess文件位于根目录下。

1 个答案:

答案 0 :(得分:1)

您的2 [OR]行中有rewritecond条件,这意味着在以下情况下应用重定向:

  1. 请求中的主机名是mysite.com
  2. URI为/test.html
  3. 因此,如果这两个条件中的任何一个匹配重定向,就会发生。

    你最有可能意味着这条规则:

    RewriteCond %{HTTP_HOST} mysite\.com$
    RewriteCond %{REQUEST_URI} !(/test\.html|\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ [NC]
    RewriteRule ^ http://www.mysite.com/test.html [R=301,L]