我的.htaccess
文件中有以下内容:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ page.php?query=$1
但无论我在网址中输入什么内容,$1
始终等于page.php
我期待发生的事情:
myurl.com/test >> myurl.com/page.php?query=test
发生了什么:
myurl.com/test >> myurl.com/page.php?query=page.php
答案 0 :(得分:1)
您可能发生了2次重定向。 page.php
本身正被重定向到page.php?query=page.php
。您需要将其从重定向中排除。更好的是,排除所有真实的现有文件和目录。另外,添加[QSA'] to append any additional querystring params, as well as
[L]`以停止处理文件中稍后可能出现的任何进一步重写。
RewriteEngine on
RewriteBase /
# if the request is NOT for a real file or directory
# (page.php is a real existing file)
# do the rewrite
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^(.*)$ page.php?query=$1 [L,QSA]