2015-05-19 124 views
1

我的網址是這樣的:的mod_rewrite砍掉查詢字符串

(something).php?kid=[someNumber] 

例如

index.php?kid=9 

abc.php?kid=23 

我使用這些號碼來查詢數據庫中創建一個子菜單。

如何更改網址,以便查詢字符串不可見,但我仍然可以查詢數據庫?

我的方法:

RewriteEngine On 
RewriteBase/
RewriteCond  %{QUERY_STRING} ^kid=([0-9]+)$ 
RewriteRule  (.*)    $1?  [R=permanent] 

它砍掉查詢字符串,但數據庫查詢不工作了。

我該怎麼做?

非常感謝提前!

+0

「__How我能做到這一點__ 「你不知道。 –

+0

沒有辦法美化的網址,仍然有$ _GET收到東西? – user3629892

+0

正如我之前所說,不,你不能那樣做。 apache如何知道要傳遞哪些值?! –

回答

0

你不能這樣 - 但如果你真的想... :)在餅乾Put值

RewriteEngine On 
RewriteBase/
RewriteCond %{QUERY_STRING} ^kid=([0-9]+)$ 
RewriteRule^- [co=kid:%1:%{HTTP_HOST}:7200:/] 
# This Cond to avoid endless redirect 
RewriteCond %{QUERY_STRING} . 
RewriteRule (.*) $1? [R=permanent] 

example.com/Thsng?kid=12345然後在PHP中:?

session_start(); 
echo '$_COOKIE["kid"]; // echo 12345 
+0

我不知道是什麼導致downvoting。代碼作品 – splash58

+0

好吧,謝謝你的想法! – user3629892

+0

不客氣!如果它是有用的,請不要忘記接受答案:) – splash58