我是mod_rewrite的新成員,如果可能的話,需要一些幫助。如何使用mod_rewrite從我的URL中刪除查詢字符串?
這是我的舊的URL
www.mysite.com/web/page.php?c=categoryname
我需要去改變它:我使用此代碼
www.mysite.com/web/page/categoryname.html
,但它不工作:
RewriteEngine on
RewriteBase /web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([^/]+)/?$ page.php?c=$1 [L]
如何我可以修復上面的代碼來正確地重寫我的URL嗎? 編輯:
由於烏爾裏希Palha 我管理重定向的html文件,但CSS,JS等不重定向和網站看起來RLY不好,這是我現在使用的代碼,直到我將得到一個誰也會重定向css
RewriteEngine On
RewriteBase /web/
#redirect www.mysite.com/web/page.php?c=categoryname to
#www.mysite.com/web/page/categoryname.html
#prevent internal redirect
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{QUERY_STRING} (^|&)c=([^&]+)(&|$) [NC]
RewriteRule ^(page)\.php$ $1/%2.html? [NC,L,R=301]
#rewrite www.mysite.com/web/page/categoryname.html to
#www.mysite.com/web/page.php?c=categoryname
RewriteRule ^(page)/([-a-zA-Z0-9]+)\.html$ $1.php?c=$2 [L,NC]
請問有沒有幫助?
感謝您的回答,我已將它粘貼到httacess文件中,當我點擊舊鏈接時,它會將我重定向到: http://mysite.com/web/page/categoryname.html?c=categoryname,以及它給404錯誤 – JoinOG 2012-02-01 22:23:28
現在編輯後,它重定向我需要的補丁,但我找不到錯誤 – JoinOG 2012-02-01 22:33:14
請完成它,它對我來說真的很重要。 – JoinOG 2012-02-01 22:38:24