2012-10-09 80 views
1

我有一個URL如下:www.site.com/catalog/?type=6我需要重寫爲www.site.com/white-wines/white-casesDrupal .htaccess重寫/替換不重定向

重要的是它不是重定向,例如,URL在訪問時應保持爲www.site.com/white-wines/white-cases,但顯示的內容爲www.site.com/catalog/?type=6

目前的解決方案,我已經執行重定向,我正在努力解決這個問題。

RewriteRule ^white-wines/white-cases$ http://www.site.co.uk/catalog/?type=6 [L] 

回答

1

在目標中設置完整地址意味着重定向,如果目標不同於當前主機名,則不重寫。嘗試根相對路徑。

RewriteRule ^white-wines/white-cases$ /catalog/?type=6 [L] 

你不能重寫一個不同的主機名。

絕對URL

如果指定一個絕對的URL,mod_rewrite的檢查 看到主機名是否與當前的主機相匹配。如果是這樣, 方案和主機名將被剝離出來,並將生成的路徑作爲URL路徑作爲 。否則,將爲 給定的URL執行外部重定向。要強制外部重定向返回到當前主機,請參閱下面的[R]標誌 。

來源:Apache Module mod_rewrite

+0

謝謝尼爾,我已經試過也不過似乎它正在處理其他地方在.htaccess因爲我從Drupal的越來越找不到頁面錯誤。這是我完整的.htaccess http://pastie.org/5028660。謝謝 – davewilly

+0

嘗試從此規則中刪除[L]。現在發生的事情是,這是最後一個規則流程,所以默認的drupal規則不會被使用。 –

+0

不幸的是,Drupal仍然給頁面沒有找到 – davewilly