首页 > 解决方案 > 通配符子域到另一个子文件夹中的子文件夹

问题描述

我想使用 .htaccess 将 sudomains 重定向到子文件夹

工作: subdomain.example.com -> example.com/subdomain ✓</p>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteCond %1::%{REQUEST_URI} !^(.*?)::/\1/?
RewriteRule ^(.*)$  %1/$1 [L,QSA]

现在我想在另一个子文件夹中重写子域:

工作,但有重定向: subdomain.example.com -> example.com/subfolder/subdomain ✓</p>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteCond %1::%{REQUEST_URI} !^(.*?)::/\1/?
RewriteRule ^(.*)$  https://example.com/subfolder/%1/$1 [L,QSA]

不工作: subdomain.example.com -> example.com/subfolder/subdomain x

RewriteEngine On
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteCond %1::%{REQUEST_URI} !^(.*?)::/\1/?
RewriteRule ^(.*)$  subfolder/%1/$1 [L,QSA]

为什么我不能添加另一个子文件夹?子文件夹绝对可用(重定向工作)

标签: .htaccessurl-rewriting

解决方案


您可以对子文件夹尝试此规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$ [NC]
RewriteCond %1::%{REQUEST_URI} !^(.*?)::/subfolder/\1/ [NC]
RewriteRule ^(.*)$ subfolder/%1/$1 [L,QSA]

推荐阅读