Apache-2.2

使用正則表達式將一個或多個 URL 重定向到一個

  • January 2, 2013

在我的網站中,我有一些可以通過兩個 url 訪問的頁面:

  • …/頁
  • …/參數/頁面

為了優化搜尋引擎的網站,我必須將所有 …/page url 重定向到 …/parameter/page url。

我怎樣才能修改文件.htaccess?

為了使重定向以所需的行為執行,請實施類似於以下包含的重寫規則:

RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(special|cases|which|should|be|excluded)/) [NC]
RewriteRule /(.*) http://www.example.com/parameter/$1 [L,R=301]

評論中提到的更具體問題的解決方案(即,重定向所有沒有特定上下文的頁面以使用“en”上下文)類似於以下重寫:

RewriteEngine On
RewriteCond %{REQUEST_URI} !(/(en|it|de|fr)/) [NC]
RewriteRule /(.*) http://www.example.com/en/$1 [L,R=301]

請注意,重寫規則不應適用的任何其他語言目錄都需要添加到 RewriteCond 中的轉義子句中。

此外,一旦這已經到位,需要在 Apache 上發出一個優雅的命令以獲取更改。

引用自:https://serverfault.com/questions/462101