[英].htaccess rewrite to redirect all root URLs to a new subdirectory EXCEPT one specific subdirectory
我的 WP 網站有兩種語言。 默認語言 (EN) 曾經是默認語言,並且是子目錄中的第二語言 (NL)。 現在默認語言的所有頁面和目錄也已移至子目錄,根 url 僅顯示一個 splah 頁面,您必須在其中選擇您的語言。
所以root.com/...
中的所有內容都應該使用 301 重定向規則重定向到root.com/en/...
除了root.com/nl/...
中的所有內容,它們應該留在root.com/nl/...
AND除了帶有語言選擇的啟動頁面,它仍然是root.com
我應該如何在 htaccess 文件中編寫重定向規則?
這實際上應該很簡單。
我們使用 RewriteCond 來檢查請求的 URL 路徑是否不是以/nl/
開頭。 ^
將模式錨定在測試字符串的開頭,而!
否定它。
在 RewriteRule 模式中,我們要求路徑至少包含一個字符。 此時前導/
已被剝離(僅當在 .htaccess 中配置了重寫時,如果它是通過中央服務器配置完成的,那將是不同的) - 這意味着,在根目錄中請求您的啟動畫面URL 將是此處的“空”路徑。 通過將模式錨定在開頭和結尾,並使用+
量詞,我們要求路徑必須至少包含一個字符,因此如果請求根路徑,則此規則將什么也不做。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/nl/
RewriteRule ^(.+)$ /en/$1 [R=302,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.