0

所以,我需要一些非常简单的东西,但无论如何我似乎都能做对。我需要重定向

http://mydomain.com/help/4/something/else/

http://mydomain.com/help/index.php/4/something/else

只有当 URL 中有“/help/”时,这才应该有效。

我一直在尝试一整天,最后我想到的是

    RewriteCond %{REQUEST_URI} ^/(help)/
    RewriteRule . help/index.php [L]

但它不起作用:-/

4

1 回答 1

1

这里的问题是您正在重写 URI,但没有添加其他部分,因此只要您的规则匹配,它就会将其重写为/help/index.php.

以下规则,没有RewriteCond应该做的工作:

RewriteRule ^help/(.*)$ help/index.php/$1

它的工作原理是只重写help/作为路径第一部分的 URI,然后将其更改为help/index.php/$1- 该$1部分位于匹配规则的大括号中。

使用您自己的示例,http://example.com/help/4/something/else/变为http://example.com/help/index.php/4/something/else/

请注意,我取消了[L]标志,因为这将阻止任何进一步的规则发生,由于您正在重写,您可能不想要。

于 2013-07-04T16:48:18.273 回答