我的htaccess
中有以下规则RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ redirect.php [L]
RewriteRule ^(.*)\.(?!js|css|png)([^.]*)$ redirect.php [L]
一切都很完美,除了一件事,即查询 由于某种原因,查询串消失...
我收到了以下网址myweb.com/subscribe?email=blablabla 在redirect.php中我有以下一行:
echo $_GET['email']; //should echo the email
它并没有回应任何东西......
*我检查过它是否重写为redirect.php
任何想法为什么以及如何解决它?
答案 0 :(得分:0)
通过以下步骤解决:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} -d
更改为RewriteCond %{REQUEST_FILENAME} !-d
。它的外观如下:
RewriteEngine on
RewriteBase /
RewriteRule \.(ico|css|png|js|txt|xml)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ redirect.php [QSA,L]
RewriteRule ^(.*)$ redirect.php [QSA,L]