0

我正在尝试使用 htaccess 进行重定向,但我对 htaccess 和重定向知之甚少。我想做的是:

重定向对所有子页面和目录的访问,例如

http://mydomain.com/index.php
http://mydomain.com/directory/
http://mydomain.com/new/directory/

对我域上的特定 URL 说:

http://mydomain.com/one

我试着用

redirect /index.php http://mydomain.com/demo/

但我的问题是如何从这个重定向中排除特定的 URL 和目录?如何制定规则以排除特定页面被重定向?

任何帮助表示赞赏。

4

1 回答 1

0

您的“选择工具”应该是RewriteCond

RewriteCond指令不仅可用于过滤 URL,而且每个条件仅适用于下一个RewriteRule指令 - 但是,您可以“堆叠”RewriteCond指令。

例子:

RewriteCond %{REQUEST_URI} !^/path/to/non/redirect/url.php$
RewriteCond %{REQUEST_URI} !^/path/to/another/non/redirect/url.php$
RewriteRule ^$ http://mydomain.com/one

但是,这可以简化一点:

RewriteCond %{REQUEST_URI} !^(/path/to/non/redirect/url.php|/path/to/another/non/redirect/url.php)$
RewriteRule /index.php http://mydomain.com/one

Apache Mod_Rewrite 文档

于 2012-07-24T13:06:37.970 回答