2016-01-28 152 views
1

我改變了我的網站&的url結構。 現在我想重定向我的舊頁面(目前是404錯誤頁面)到我的主頁。htaccess重定向404頁面到index.php

網址:

http://www.example.com/abc-def-ghi-sp(m).html 

http://www.example.com 

我在htaccess的

RewriteEngine On 
RewriteRule ^(.*)\.html$/[L,R=301] 

以上規則工作正常使用下面的規則。 而且我還需要另一個redirection.But它不工作

http://www.example.com/page.php?name=amca&PID=143&PageID=abc 

http://www.example.com 

我已經使用htaccess的

RewriteRule ^page\.php/[L,R=301] 

以下規則但結果

它顯示了主頁。

但在瀏覽器的URL是

http://www.example.com/?name=amca&PID=143&PageID=abc 

我已經嘗試了不同的rule.But不工作

回答

0

嘗試添加一個在目標網址的末尾。

RewriteRule ^page\.php /? [L,R=301] 

空的問號在最後很重要,因爲它會丟棄原有的查詢字符串。

這會將/fill.php?foo=bar重定向到/不附加舊的querystrings。

在測試之前清空瀏覽器的緩存。

如果你想重定向與查詢字符串一個spacific網址,

您可以嘗試

RewriteEngine on 


RewriteCond %{QUERY_STRING} ^q=foo&u=bar$ [NC] 
RewriteRule ^file.php$ /? [NC,L,R] 

這將重定向特定的URL /file.php?q=foo & U =酒吧/

+1

謝謝。它的工作正常。 – user2214646

0

嘗試^page\.php*$/[L,R=301]

你是隻匹配你感興趣的模式,和發動機將只替換匹配的零件。所以你應該在感興趣的模式之後匹配所有的東西,以便它成爲替換的受害者。

「*」匹配「php」和「$」後的所有內容用於表示字符串的結尾。

相關問題