2012-02-17 32 views
0

我有很多舊的URL,我需要重定向。該網站通過使用mod_rewrite規則打index.php?url=whatever。不過,我不希望用戶看到ARG在重定向的情況下:mod_rewrite重定向是追加URL參數我不想要

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteRule ^clients_whatever1\.html$ /[R] 
    RewriteRule ^clients_whatever2\.html$ /client-list/whatever2 [R] 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
    </IfModule> 

所以在的情況下:

(the domain)/clients_whatever2.html

它們將被重定向到:

(the domain)/client-list/whatever2?url=/client-list/whatever2

但它應該簡單地理解爲:

(the domain)/client-list/whatever2

如何做重定向,以便它顯示在瀏覽器的URL作爲任何其他請求(非重定向)?

回答

0

附加一個?的規則目標刪除原始查詢字符串PARAMS即

RewriteRule ^clients_whatever1\.html$ /? [R,L] 
RewriteRule ^clients_whatever2\.html$ /client-list/whatever2? [R,L] 
+0

我的意思是,一個網址輸入爲http://example.com/clients_whatever2.html正在轉化爲HTTP ://example.com/client-list/whatever2?url =/client-list/whatever - 即使是你的'?'追加 – 2012-02-17 19:40:28

+1

@DanielSmith嘗試添加'L'來停止處理,如上 – 2012-02-17 20:23:00

+1

謝謝,這有幫助! – 2012-02-17 22:59:40