簡體   English   中英

當mod_rewrite將.html重寫為.php時,$ _GET變量消失

[英]$_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM