亲爱的Stackoverflowers,
我在这个论坛上已经阅读了多个答案,但似乎没有一个对我有用,或者他们只是没有解释他们的答案..
我有一个使用GET作为方法的表单。由于我使用的是mod_rewrite,因此该表格不再适用。我已经阅读了关于在.htacces中使用%{QUERYSTRING}的内容,但我找不到有关如何操作的任何好信息。如果我改变"?" GET方法是有效的。到"&"。对我来说这是逻辑,因为我已经在我的.htacces中使用了问号。
有人可以向我解释如何使用带有GET方法的表单与mod_rewrite结合使用吗?
谢谢!
我的.htacces目前看起来像这样:
Options -Indexes
<IfModule mod_rewrite.c>
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/? [NC]
RewriteRule .* index.php?page=%1&id=%2&code=%3 [L]
</IfModule>
更新
我使用的网址是: rechtenkrom.nl/zoek-opdracht?id=&trefwoord=&headId=&categorie=&postcode=&distance=&provincie=&submit =
当我执行var_dump($ _ GET)时,它没有在&#34;?&#34;之后显示任何GET变量。 通过将QSA添加到我的上一次重写规则,它现在可以看到所有GET变量:)
答案 0 :(得分:1)
将它与你的上一个RewriteRule一起使用:
RewriteRule .* index.php?page=%1&id=%2&code=%3 [QSA,L]
QSA =当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会导致查询字符串合并。