【问题标题】:How to write a htaccess file to wildcard 2 level folder to subdomain如何将 htaccess 文件写入通配符 2 级文件夹到子域
【发布时间】:2014-12-28 05:18:58
【问题描述】:

如何改写

www.mywebsite.com/folder/folder1 到 folder1.mywebsite.com/

www.mywebsite.com/folder/folder2 到 folder2.mywebsite.com/

www.mywebsite.com/folder/folder3 到 folder3.mywebsite.com/

【问题讨论】:

  • 目前folder1.mywebsite.com的文档根是什么?
  • 文件夹 1 由用户自动创建并为空我找到了这个答案 RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$ RewriteCond %{HTTP_HOST} ^(\w+)\。 mywebsite\.com$ RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_URI} -f [OR] RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_URI} -d RewriteRule ^(.*)$ /%1/$1 [QSA ] 并且效果很好,但仅适用于 www.mywebsite.com/folder1 到 folder1.mywebsite.com/ www.mywebsite.com/folder2 到 folder2.mywebsite.com/ www.mywebsite.com/folder3 到 folder3.mywebsite.com/但我的情况是我有 2 级文件夹:www.mywebsite.com/folder/folder1 .....
  • 这是我看到解决方案的链接,但它适用于级别文件夹stackoverflow.com/questions/13373006/…Mycase 是 2 级文件夹

标签: .htaccess rewrite rule


【解决方案1】:

你可以使用:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.mywebsite\.com$
RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_URI} -d
RewriteRule ^((?!folder/).*)$ /folder/%1/$1 [L] 

【讨论】:

  • 我应该把这个htaccess放在哪里,放在根目录还是文件夹中
  • 它带我到主页而不是子域站点 请看一下,这是 url pagezon.com/sites/trung
  • 当我使用你的 htaccess 并输入 http:trung.pagezon.com 它带我到主页而不是我的子目录站点
  • 还有什么帮助吗?
  • 不是真正的子域,是通配符子域。我已经为我的域 pagezon.com 启用了通配符。现在我想使用该子文件夹名称将pagezon.com/sites 中的每个文件夹重定向到子域名。例如,如果有文件夹pagezon.com/sites/folder1,那么它将与folder1.pagezon.com相同
猜你喜欢
  • 2012-11-02
  • 1970-01-01
  • 2014-06-30
  • 2012-11-20
  • 1970-01-01
  • 2011-08-05
  • 2021-11-14
  • 2018-07-25
  • 1970-01-01
相关资源
最近更新 更多