我正在尝试编写一个 RewriteRule 将所有请求发送到我的服务器到 index.php,然后将请求放入 GET 参数中。所以,像这样的请求:
http://my.domain.com/test/stuff/here
将重写为:
http://my.domain.com/index.php?param=test/stuff/here
为此,我在 .htaccess 中编写了以下规则:
RewriteEngine on
RewriteCOnd %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php?param=$1 [L]
据我所知,逻辑是正确的,它甚至可以正常运行。它正在重写 index.php 并将 URL 的其余部分放在 GET 参数中,但由于某种原因,如果第一个斜杠之前的部分是“index”,它会将 index 替换为rewrite:/index.php
所以,网址
http://my.domain.com/index/test/stuff
正在变成
http://my.domain.com/redirect:/index.php/test/stuff
知道为什么会这样吗?