2016-08-08 22 views
-1

我試圖用這個RedirectMatch:這個RedirectMatch表達式有什麼問題?

RedirectMatch 301 /(.*.p0) /(.*.p1) 

替換URL中的頁面參數。 舊網址:http://www.example.com/some-list-c1-p0 新網址:http://www.example.com/some-list-c1-p1

有什麼不對呢?

或者我可以制定一個規則,重定向301以下類型的網址?

舊網址:http://www.example.com/some-list-c1-p0.html 新網址:http://www.example.com/some-list-c1-p1

我使用:

RedirectMatch 301 /(.*.p0)\.html /$1 

但我不能拿到的不是 'P0'

回答

1

你更換 'P1'方不包含對匹配的任何引用。 The Apache docs建議的例子是這樣的:

RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg" 

使用$1$2等指捕獲的比賽,所以儘量

RedirectMatch 301 /(.*.)p0 /$1p1 

,看看是否能更好地工作。

+0

它製作的URL,但在結尾加上參數。像這樣 http://www.example.com/some-list-c1-p1?id=1&page=0 – nickRO87

+0

那麼我怎樣才能從url(?id = 1&page = 0)的末尾刪除這個? – nickRO87

+0

@ nickRO87:它_might_(未經測試)通過以'?'替換URL替換,否則,您可能需要使用[mod_rewrite](https://httpd.apache.org/docs/current/mod/mod_rewrite。 html),它有一個'QSA'標誌來控制查詢參數是否被剝離。 –

0

我得到了解決辦法我的問題

這個工程的第2部分:

RedirectMatch 301 /(.*.)p0\.html /$1p1 
相關問題