0
我有3+的網站,例如:指向同一個目錄重寫URL多個網站指向不同的文件夾
www.example.com/requestedpage
www.esempio.it/requestedpage
primer.ru/requestedpage
所有的網站都指向同一個服務器的目錄。其中有3個目錄:「en」,「it」,「ru」以及本地化的requestedpage。我想在內部重定向這些請求(只有PHP,而不是圖像)到文件夾而不更改URL。所以.com網站從「en」文件夾中讀取頁面 - 「it」,ru - 「ru」文件夾,但用戶不應該看到它。
我嘗試了一些事情,但他們沒有工作..
RewriteCond ^(.+)\.(ru)$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/ru/$1 [NC,L]
RewriteCond %{HTTP_HOST} ^(.+)\.(ru)$
RewriteRule ^(.+)\.php$ ru%{REQUEST_URI} [NC,L]
RewriteCond %{HTTP_HOST} MYWEBSITE.ru$ [NC]
RewriteCond %{HTTP_HOST} !ru/
RewriteRule ^(.*)$ /ru/$1 [NC,L]
經過大量的測試和感謝anubhava幫助下,我找到了一種方法來處理它,沒有很好的辦法,我認爲這應該加以改進:
# ===== MULTILANGUAGE WEBSITES =====
#Rule for IT website
RewriteCond %{HTTP_HOST} !ITALIANDOMAIN\.it$
RewriteRule .* - [S=3]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ it/$1/$2
RewriteRule ^([^/]+)$ it/$1
RewriteRule ^$ it/ [NC,L]
#Rule for FR website
RewriteCond %{HTTP_HOST} !FRANCEDOMAIN\.com$
RewriteRule .* - [S=3]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ fr/$1/$2
RewriteRule ^([^/]+)$ fr/$1
RewriteRule ^$ fr/ [NC,L]
#Rule for RU website
RewriteCond %{HTTP_HOST} !(RUSSIANDOMAIN1\.com)$
RewriteCond %{HTTP_HOST} !(xn--10-olc1a0ag\.xn--p1ai)$
RewriteRule .* - [S=3]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ ru/$1/$2
RewriteRule ^([^/]+)$ ru/$1
RewriteRule ^$ ru/ [NC,L]
服務器遇到內部錯誤或配置錯誤,無法完成您的請求。我明天會嘗試更多,但刪除我的所有規則,並添加只是它不起作用 –
哇,幾乎。它適用於除請求之外的所有請求,例如:www.example.com/folder/page是否可以在本例中將整個請求重定向到文件夾「en」? :) –
我正在嘗試這一個(適用於測試者),但在服務器上無效:RewriteCond%{HTTP_HOST} \。$ RewriteRule ^([^ /] +)/(。+)$ it/$ 0 [ NC,L] –