2011-12-26 54 views
0

我想重寫我的網址,以便每當有一個?時,它和後面的所有內容都被刪除。從網址中刪除所有查詢字符串

我有不同的字符串,如:

....html?frame=... 

....html?sport=... 

....html?type=... 

所以可以很容易,如果有一個?在url的任何地方,它應該被截斷。

(順便說一句,我已經改寫爲.PHP的.html)

非常感謝。

+0

請給現實生活樣本:應該怎樣,應該在服務器 – 2011-12-27 08:22:11

+0

在內部修改在他/她的瀏覽器,以及用戶類型看http://stackoverflow.com/questions/8669755/trim-query- sting-from-url/8669969#8669969 – Gerben 2011-12-29 21:33:52

回答

1

正如在評論中指出:

RewriteCond %{QUERY_STRING} !="" 
RewriteRule ^(.*)$ /$1? 

作品,但OP表示,恢復的PHP - > HTML擴展轉換回來。

嘗試將其添加的PHP/HTML 改寫:

RewriteRule ^(.*)\.php$ /$1.html 

RewriteCond %{QUERY_STRING} !="" 
RewriteRule ^(.*)$ /$1? [L,R=302] 

我剛剛試了一下,我有跟RewriteBase一些問題,你可能需要設置這個工作。否則,看起來不錯。

+0

謝謝,Darkhogg。該代碼沒有效果。我看過這段代碼:'RewriteCond%{QUERY_STRING}!=「」 RewriteRule ^(。*)$/$ 1? [L,R = 301]',但在刪除查詢字符串後它將擴展名轉換回.php。 – Beau 2011-12-26 22:04:29

+0

更新了我的答案以解決......好,一切。增加了一些關於php-> html擴展轉換的信息。 – Darkhogg 2011-12-26 23:16:56

+0

謝謝,Darkhogg。我將不得不擺弄它,因爲php/html重寫的位置沒有什麼區別。 – Beau 2011-12-27 04:52:52

0

mod_rewrite documentation(重點煤礦):

修改查詢字符串

默認情況下,查詢字符串加改變地通過。但是,您可以在包含查詢字符串部分的替換字符串中創建URL。只需在替換字符串中使用問號表示應將以下文本重新注入查詢字符串。 當您想要刪除現有的查詢字符串時,只需使用問號來結束替換字符串。要合併新舊查詢字符串,請使用[QSA]標誌。

相關問題