0

我不敢相信我自己找不到解决方案,但它就在这里。我希望 Apache 将每个请求重定向example.com/page.phpexample.com/http/page.php. 我在 Internet 和 StackOverflow 上找到了许多选项,但没有一个有效。现在我得到了这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com\$
RewriteRule (.*) http://example.com/http/$1 [R=301,L]
RewriteRule ^$ http [L]

这会重定向example.com到,example.com/http但一切都会example.com/some_page.php引发 404 错误。其他选项要么根本不起作用,要么做同样的事情。如果这很重要,它是 CentOS 上的 Apache/2.2.22。

4

1 回答 1

1

试试这个规则:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(?!http/).*\.php$ /http%{REQUEST_URI} [R=301,L,NE,NC]

确保在测试之前清除浏览器缓存。

于 2016-07-07T07:50:46.303 回答