[英]$_GET variables disappear when mod_rewrite rewrites .html to .php
我正在使用mod_rewrite將.html重寫為.php。
RewriteRule ^([0-9a-zA-Z-_]+)\.html$ index.php?p=$1 [L]
但是,我在URL中使用$ _GET時遇到問題。 如果請求的URL采用以下格式,它可以正常工作: index.php?a=f1
但是,如果它將它重寫為home.html?a=f1
,沒有。
假設只是瀏覽器在點擊.html后停止閱讀。 有沒有辦法讓這項工作?
您需要添加QSA
標志:
RewriteRule ^([0-9a-zA-Z-_]+)\.html$ index.php?p=$1 [QSA,L]
原因最好在文檔中解釋:
當替換URI包含查詢字符串時,RewriteRule的默認行為是丟棄現有查詢字符串,並將其替換為新生成的查詢字符串。 使用[QSA]標志會導致組合查詢字符串。
你必須打電話給home.htm&a=f1
隱藏的網址是: index.php?p=home&a=f1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.