2015-04-17 19 views
2

我想改變的.htaccess刪除頁面,並留下查詢

http://example/index.php?name=phone

http://example/phone

我嘗試這樣做:

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?name=$1 

它實際上讓我使用example/phone但它不是forc當我使用example/index.php?name=phone 時,我想只能找到乾淨的網址。當我編寫非乾淨的URL時,它應該將我重定向到乾淨的URL。

編輯

我會盡量簡化問題。 我想是 當我寫

例如/的index.php?NAME =電話

它重定向我

例如/電話

,當然還有, '電話' 是一個變量。

+0

要 「決心」 的問題,請發帖回答和/或接受一個。 – deceze

回答

0

這工作:

RewriteEngine on 

RewriteBase/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php\?name=([^\s]+) [NC] 
RewriteRule^%1? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1 

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?name=$1 
0

在這裏你去:

RewriteEngine On 
    RewriteRule ^([^/]*)$ /index.php?name=$1 [L] 
+0

不工作,錯誤404. – moawaya

+0

告訴您的託管服務器激活您的服務的重新寫入功能。也許它已關閉 –

+0

它已啓用,在不同主機上嘗試過。 奇怪的是它與一些查詢和其他不起作用! 任何想法發生什麼事? – moawaya