2012-09-25 35 views
1

我主持MEDIATEMPLE DV 4.0服務器上,並在我的htaccess文件使用以下行(重寫規則爲CMS)的.htaccess重寫上MEDIATEMPLE

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L] 

它工作得很好,但是當我試圖做301重定向到舊的頁面指向一個新的地址,它增加了一些不必要的東西進入的網址,例如:

?id=locations-maryland 

如何修改重寫規則,以保持相同的功能,但去掉最後一部分基本上使得301重定向毫無意義,因爲CMS無法找到具有此sp的任何頁面ammy網址。

它只發生在mediatemple上我聽到有人在某處添加/刪除了一個額外的問號,但沒有足夠的知識來自行解決它。

回答

1

?添加到重定向目標的末尾。例如:

Redirect /something/ /something/else/? 

,或者如果你正在使用mod_rewrite:

RewriteRule ^/?something/(.*)$ /something/else/$1? [L,R=301] 
+0

謝謝。它可以工作,但在URL的末尾添加問號。任何方式刪除它,但保持結果? –

+0

@MarkH。有'Redirect',我不認爲有沒有其他方法,沒有'?',查詢字符串只是被追加。但是,如果使用mod_rewrite(第二個),問號將不會顯示在重定向中。 –