所以,我需要一些非常简单的东西,但无论如何我似乎都能做到正确。我需要重定向
http://mydomain.com/help/4/something/else/
到
http://mydomain.com/help/index.php/4/something/else
这只有在有" / help /"在网址中。
我一整天都在尝试,最后一次来到
RewriteCond %{REQUEST_URI} ^/(help)/
RewriteRule . help/index.php [L]
但它不起作用: - /
答案 0 :(得分: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]
标记,因为这会阻止任何进一步的规则发生,由于您要重写的内容,您可能不需要。