2017-04-17 69 views
0

我要求的東西確實很簡單。我想從這個獲得:簡單的重寫規則不會改變網址

http://test.com/index.php?articles=mynewarticle&id=5 

這樣:

http://test.com/mynewarticle.html 

,我不明白爲什麼,但下面的.htaccess不會做的工作:

RewriteEngine On 
RewriteRule ^([^/]*)\.html$ /index.php?articles=$1&id=5 [L] 

當我輸入

http://test.com/index.php?articles=mynewarticle&id=5 

我得到

http://test.com/index.php?articles=mynewarticle&id=5 

不知道是否在Apache中修改某些內容的方式爲我禁用此選項,我不知道該在哪裏檢查。預先感謝您提供的任何幫助。

回答

1

你需要外部和內部的RewriteRules的組合來一部開拓創新URL轉換爲搜索引擎友好的格式

RewriteEngine on 
#redirect "/index.php?articles=foobar&id=123" to "/foobar.html" 
RewriteCond %{THE_REQUEST} /index\.php\?articles=([^&]+)&id=.+ [NC] 
RewriteRule^/%1.html [NE,L,R] 
#rewrite "/foobar.html" to "/index.php?articles=foobar&id=5 
RewriteRule ^([^/]*)\.html$ /index.php?articles=$1&id=5 [L]