[英]Redirect subdomain to main domain
我正在處理一個同時支持英語和西班牙語的網站,我想知道如何將所有請求重定向到特定於語言的子域到主域(en.mysite.com和es.mysite.com到mysite.com)。
整個站點都使用PHP編程,並且具有主腳本index.php
,該腳本處理language
和GET參數section
並相應地顯示內容。
現在,我嘗試在mysite.com根目錄下的.htaccess文件中執行以下操作。 我認為這澄清了我要做什么:
RewriteEngine On
# English redirects
RewriteRule ^en.mysite.com$ index.php?language=English§ion=Main
RewriteRule ^en.mysite.com/store$ index.php?language=English§ion=Store
RewriteRule ^en.mysite.com/create_account$ index.php?language=English§ion=CreateAcc
# Spanish redirects
RewriteRule ^es.mysite.com$ index.php?language=Spanish§ion=Feed
RewriteRule ^es.mysite.com/comprar$ index.php?language=Spanish§ion=Store
RewriteRule ^es.mysite.com/crear_cuenta$ index.php?language=Spanish§ion=CreateAcc
但這是行不通的。 誰能告訴我我在做什么錯?
您不能在RewriteRule
中將主機名作為匹配項的一部分,因為它僅與URI匹配。 您需要為每個規則使用與主機名匹配的單獨RewriteCond
:
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^$ /index.php?language=English§ion=Main
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^store$ /index.php?language=English§ion=Store
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^create_account$ /index.php?language=English§ion=CreateAcc
然后西班牙語重寫:
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^$ /index.php?language=English§ion=Feed
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^comprar$ /index.php?language=English§ion=Store
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^crear_cuenta$ /index.php?language=English§ion=CreateAcc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.