2012-02-19 35 views
-1

我正在使用.htaccess進行URL重寫。我用這樣的代碼:漂亮的URL被重定向到查詢部分

RewriteRule ^([a-zA-Z0-9-_]+)$ index.php?page=d/ctg/item&itmctgals=$1 [QSA] 

和URL是smstongue.com/friendship-sms(別名URL),但它顯示在URL查詢部分即smstongue.com/?page=d/ctg/browse&itmctgals=friendship-sms

URL但是我想表明在瀏覽器地址欄中的URL像smstongue.com/friendship-sms 。 如何做到這一點?

回答

1

如果我理解正確的話,

做到這一點:

RewriteEngine On 
RewriteBase/

RewriteCond %{ENV:REDIRECT_STATUS} 200 
RewriteRule^- [L] 

RewriteCond %{QUERY_STRING} itmctgals=([\w\d-]+) [Nc] 
RewriteRule^%1/? [L,R=301] 

RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^([\w\d-]+)$ index.php?page=d/ctg/item&itmctgals=$1 [L,QSA] 
+0

我想它和它的工作。謝謝。在我之前的主機上,它正在使用我正在使用的規則,但不適用於新主機。現在,我還有幾個URL可以在同一個.htaccess文件中重寫。我是否需要爲每個規則編寫一切?另外,我的規則只有一行,請告訴我爲什麼它不適用於新主機。 – kb0000 2012-02-20 02:01:55

+0

@Kunal它是因爲最後一個斜槓問題。你最好重寫別人。 _不要忘記接受答案,這樣Q/A將被關閉。 – ThinkingMonkey 2012-02-20 06:25:57