我在使用 htaccess 设置单页重定向时遇到了一些问题。目前我有一个 htaccess 文件:
RewriteCond %{SCRIPT_FILENAME} !-s
RewriteRule (.*) index.php?path=$1 [QSA,L]
然后是一组重定向,例如
Redirect 301 /oldpage.htm http://www.mydomain.com/new-page
但是我遇到的问题是,当我进入浏览器并输入旧 URL 时,我会被重定向到带有附加参数的 URL,例如:
“http://www.mydomain.com/new-page?path=oldpage.htm”
对于我的某些重定向,这似乎仍然有效,对于某些重定向,它会产生 404 错误。我还尝试使用 RewriteCond 和 Rewrite Rule 为那些我可以的页面编写更通用的捕获所有重定向,并且我遇到了同样的问题。
我认为其他一些规则一定会干扰我的重定向 - 我能看到的唯一一个可能会这样做的是上面的规则,但如果是这种情况,我被重定向到的 URL 不应该是
“http://www.mydomain.com/index.php?path=oldpage.htm”
谁能解释为什么将参数附加到 URL 以及如何阻止这种情况发生以便我的重定向工作?
干杯!