【问题标题】:Redirecting folders to their corresponding subdomains将文件夹重定向到其对应的子域
【发布时间】:2017-12-05 15:04:46
【问题描述】:

尝试通过 .htaccess 配置 apache,以便 任何文件夹 将被重定向到相应的子域

例子:

原网址:http://zipcode.is/ro/010011 重定向到:http://ro.zipcode.direct/010011

将文件夹从 zipcode.is/ro/010011 移动到新域上的子目录:ro.zipcode.direct/010011(注意域不同以及)。现在这是可行的,但是一旦我更改国家/地区 ISO 代码,它将不再起作用,例如zipcode.is/us/10128

【问题讨论】:

    标签: apache .htaccess url redirect subdomain


    【解决方案1】:

    您可以在站点根目录.htaccess 文件中使用此规则:

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^((?!www).+)\.domain\.com$ [NC]
    RewriteRule ^((?!subdomains/).*)$ subdomains/%1/$1 [L,NC]
    

    【讨论】:

      【解决方案2】:
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule ^([a-zA-Z]+)/(\d+)$ http://$1.zipcode.direct/$2 [R=301,L]
      

      上面是最好和最短的解决方案(感谢 Ruslan G.!)Alexey S. 的第一个方法不检查类型并且不太优雅,留下它以防有人想进一步调整:

      RewriteEngine on
      
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule ^(.*)/(.*)$ http://$1.zipcode.direct/$2 [R=301,L] 
      
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteRule ^([^.]*)$ http://$1.zipcode.direct [R=301,L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-01
        • 1970-01-01
        • 2017-05-10
        相关资源
        最近更新 更多