2011-08-04 27 views
0

這裏是htaccess的一部分改寫:URL在.htaccess不重寫時 '的index.html' 本

RewriteCond %{QUERY_STRING} ^pid=directions_to_business$ 
RewriteRule ^$ directions? [NC,R=301,L] 

所以在本質上,http://www.mybusiness.com/?pid=directions_to_business應該重定向到http://www.mybusiness.com/directions。但是,如果給出此URL:http://www.mybusiness.com/index.html?pid=directions_to_business,則URL不會重定向。

我正在使用Rails應用程序,如果這有什麼區別。

回答

0

您的代碼,

RewriteRule ^$ directions? [NC,R=301,L] 

只有匹配的空請求,即根(查詢字符串不用於重寫規則)。你想這樣的:

RewriteRule ^.*$ directions [NC,R=301,L,QSA] 

如果你想http://www.mybusiness.com/?pid=directions_to_business&from=...http://www.mybusiness.com/directions?from=...這會將您的查詢字符串,以及(QSA)。

+0

謝謝,這工作;但我不想追加查詢字符串。我刪除了QSA並將問號放回,但由於某種原因,該URL現在被重寫爲:http://www.mybusiness.com/directions?&pid=directions_to_business – JakeTheSnake

+0

不要添加問號。沒有理由。 – Eric

+0

仍然不會更改最終結果。 – JakeTheSnake