1

我正在尝试将所有 URL 重定向到 index.php,所以这个 URL:

domain.com/home/stats

将指向:

domain.com/index.php

反而。

但是,我不想要指向“公共”目录的 URL,例如:

domain.com/public/images

重定向到 index.php。

我已经尝试了许多不同的重写,我在这个网站上找到了,但是到目前为止没有一个是 100% 的。他们都刚刚将每个 URL 重定向到 index.php,即使您尝试访问公共目录。

这是我现在拥有的:

RewriteRule !^/public/.*$ index.php

我对 RegEx 知之甚少,但我的理解是使用“!” 字符的意思是“除此之外”。但显然,在这种情况下,它没有。

4

1 回答 1

0

您可以尝试以下方法:

RewriteBase /
RewriteRule ^(public/.*) $1 [L]
RewriteRule ^index.php$ index.php [L]
RewriteRule ^(.*) index.php

第二行是让 URI 保持原样。第三行是避免 index.php 陷入无限循环。第一个和第二个ReWriteRule应在处理后立即停止 ( [L])。最后一个适用于其他一切。

于 2012-07-15T01:32:13.680 回答