.htaccess重定向所有文件但有例外

时间:2015-05-04 17:54:51

标签: apache .htaccess mod-rewrite redirect

我知道这已被问了好几千次,但我一直在谷歌上搜索三个小时没有任何结果。所以我在这里问。我正在创建一个网站。所有内容都在文件夹/子文件夹中。现在我想将所有请求重定向到另一个域(比如domain.com),除了我实际使用的文件。它可能看起来很奇怪,但在我的情况下它是有道理的。所以我现在所拥有的是

B2::f

我该怎么做?上面的代码总是将我重定向到domain.com。

提前谢谢

1 个答案:

答案 0 :(得分:1)

确保将重定向放在RewriteEngine On下方并使用THE_REQUEST代替REQUEST_URI,如下所示:

DirectoryIndex index.php
RewriteEngine on

RewriteCond %{THE_REQUEST} !/media [NC]
RewriteCond %{THE_REQUEST} !/(login|signup)(\.php)?[?\s] [NC]
RewriteRule (.*) http://domain.com/$1 [R=301,L]

RewriteRule ^home$ myhome.php [L]
RewriteRule ^links$ editlinks.php [L]
RewriteRule ^help$ howto.php [L]
RewriteRule ^(account|login|options|forgot)/?$ $1.php [L,NC]
RewriteRule ^r$ redirect.php [L]
RewriteRule ^r/(.+)$ redirect.php?id=$1 [L,QSA]