2017-09-25 105 views
1

我在我的網站上有以下URL,在進行一些網站測試時無意中得到了索引。我正在嘗試將網址重定向到我網站上的正確網頁。無論出於何種原因,我無法讓重定向實際按預期工作。正則表達式不適用於RedirectMatch

這裏是收錄在我的網站

domain.com/wa/-county/communityname

的URL有時社區實際上是一個城市,需要重定向。該URL實際上應被重定向到:

domain.com/wa/cityname

對於那些情況下,社區實際上是一個城市。

現在這裏是我相信我的作品拋出扳手的部分。

/-county/需要明確地匹配該文本。我有在網站上的一些網址實例,其中結構爲:

domain.com/wa/king-county/selah

的網址是動態生成。該網站的Itemid是導致在此情況下會生成縣名king的原因。編入索引的網址只是索引而沒有URL的縣名部分。

這是我到目前爲止嘗試過的正則表達式和redirectmatch。

RedirectMatch 301 (\/-county\/)(.+$) /wa/$2 

現在我明白了這一點的方法是

(.*$) = $2 

任何人都可以闡明這個問題對我來說任何額外的光?

這裏是到Regex101 Test

+0

試試這個.. https://regex101.com/r/PPaMNr/3'(\/[^ \ /] *? - 縣\ /)(。+ $)'你正確的'$ 2'是比賽中的第二組是'(。+ $)'。第一組$ 1是通過'(\/[^ \ /] *? - county \ /)匹配的所有內容' – kaza

+0

@bulbus我試圖實現您在regex101上發佈的代碼。 RedirectMatch從不捕獲url和重定向。正則表達式本身看起來不錯。 –

+0

明白了!你需要捕獲更多的團體,看看我的其他評論。 – kaza

回答

2

一個鏈接,您可以使用此規則爲你的第一個規則站點根目錄的.htaccess:

RedirectMatch 301 ^/([\w-]+)/-county/(.+)$ /$1/$2 

確保測試這些修改時清除瀏覽器緩存。

+0

我在RewriteEngine On後立即添加了這一行,它什麼都沒做。測試3個獨立的瀏覽器。 –

+1

他想確保把http:// example.com/wa/king-county/selah'轉向'http:// example.com/wa/selah' – kaza

+0

他想要確保'http:// example.com/wa/king-castle-county/selah'轉向'http:// example.com/wa/selah',所以我想。 – kaza

相關問題