我正在將ASPX站點移動到Wordpres - 從IIS服務器到Apache - 並且在查詢字符串重定向頁面時遇到問題。我查看了Apache文檔,並試圖使用mod_rewrite,但至今沒有運氣。爲什麼我的htaccess RewriteRule不能用於查詢字符串?
比如我想重定向這些頁面:
www.mysite /產品/ Product.aspx的azazaz = 324 $到 www.mysite /藍色的小部件/ widget7/ www.mysite /Product/Product.aspx?mapid=681$至 www.mysite/blue-widgets/widget82/ www.mysite/Product/Product.aspx?mapid = 841 $至 www.mysite/blue-widgets/widget82/
這裏是我在哪裏。我已經嘗試了幾次迭代,但無法使其工作。我開始認爲它可能與前幾個規則有關,這些規則是由服務器和Wordpress生成的。該網站是一個附加域,服務器將其視爲一個子域。
我的重寫是最後三個。任何想法爲什麼這些不工作?謝謝你的幫助。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~username/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~username/mysite/index.php [L]
RewriteCond %{QUERY_STRING} ^mapid=324$ [NC]
RewriteRule ^/Product/Product\.aspx(.*)$ ^https://www.mysite/blue-widgets/widget7/? [L,R=302,NC]
RewriteCond %{QUERY_STRING} ^mapid=681$ [NC]
RewriteRule ^/Product/Product\.aspx(.*)$ ^https://www.mysite/blue-widgets/widget12/? [L,R=302,NC]
RewriteCond %{QUERY_STRING} ^mapid=841$ [NC]
RewriteRule ^/Product/Product\.aspx(.*)$ ^https://www.mysite/blue-widgets/widget82/? [L,R=302,NC]
</IfModule>
因此,操作順序很重要?將我的規則移動到RewriteBase上方?仍然似乎沒有工作,但我會再玩一些。謝謝。 – jshock
我也改變了你的規則。嘗試我所擁有的。 – Fencer04
謝謝。這工作。 – jshock