如何使用 Htaccess 执行此操作
我在 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 参数相同(即不在地址栏/url 中显示子域名
)。
I am using the following code in my htaccess file
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]
What it does is, whenever www.website.com
is loaded, it loads its content from the /www/
directory and keeps the url parameter the same (Which is AWESOME).
Anyway, what I want now is, whenever any sub-domain (other than www) is loaded, I want to load its content from a /subdomain/
directory and keep the url parameter the same (i.e. not display subdomain
in the address bar/url).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要引用 RewriteCond 部分的内容,以便可以将其用作子域文件夹。
%2 引用 RewriteCond 中匹配的正则表达式中的第二个标记匹配(括号中的内容是标记)
[NC] 表示无情况
[QSA] 表示查询字符串追加
You probably want something that references part of the RewriteCond so you can use that as the sub domain folder.
The %2 references the second token match (things in brackets are tokens) in the regular expression that is matched in the RewriteCond
[NC] means no case
[QSA] means query string append