0

如果有任何喜欢的格式

http://localhost/index.php/bla...

我想把它转换成http://localhost/er/index.php/bla...

我正在尝试以下操作,但它似乎无限期地循环 URL

RewriteRule  ^localhost/index/php/(.*)$  localhost/er/index.php/$1  [R=301,L]
RedirectMatch  301  ^/localhost/index.php/(.*)$  localhost/er/index.php/$1
4

1 回答 1

1

你有两个不同的事情发生,一个RewriteRule(mod_rewrite)和一个RedirectMatch(mod_alias)。您只需要一个,但它们都不能与主机名 (localhost) 匹配。如果这仅限于“localhost”主机,那么您需要这样做:

RewriteEngine On
RewriteCond %{HTTP_HOST} localhost$ [NC]
RewriteRule ^/?index\.php/(.*)$ /er/index.php/$1 [R=301,L]

否则,您可以坚持使用 mod_alias:

Redirect 301 /index.php/ /er/index.php/

之后的所有/index.php/内容都会自动附加。

于 2012-08-09T21:54:44.737 回答