我在htaccess文件中使用以下代码
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteCond %{REQUEST_URI} !^/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /www/$1
RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteRule ^(/)?$ www/index.php [L]
它的作用是,无论何时加载www.website.com
,它都会从/www/
目录加载其内容并保持url参数相同(这是真棒)。
无论如何,我现在想要的是,每当加载任何子域(除了www)之外,我想从/subdomain/
目录加载其内容并保持url参数相同(即不显示{地址栏/网址中的{1}}。
答案 0 :(得分:1)
您可能需要引用RewriteCond部分的内容,以便将其用作子域文件夹。
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).website.com [NC]
RewriteRule ^(/)?$ %2/index.php [NC,QSA]
%2引用RewriteCond中匹配的正则表达式中的第二个标记匹配(括号中的东西是标记)
[NC]表示无案例
[QSA]表示查询字符串追加