【问题标题】:Redirect subdomains to their folders with htaccess for dynamic name of subdomain使用 htaccess 将子域重定向到其文件夹以获取子域的动态名称
【发布时间】:2018-08-31 14:34:14
【问题描述】:

我的根目录中有以下结构

/
/-site1
/-site2
.
.
.-site-n

我想让 site1.example.com 使用 site1 文件夹,site2.example.com 使用 site2 文件夹等。我想用 htaccess 来实现。如果目录 (sitex) 不存在,我也想重定向到 404 页面。请向我提供编写 htaccess 文件的建议,并说明我应该把它放在哪里。

【问题讨论】:

  • 请告诉我们,你已经在你的 .htaccess 文件中做了什么
  • 我正在使用这个: - RewriteEngine On Rewritemap 小写 int:tolowerRewriteCond %{HTTP_HOST} !^www\。 [NC] RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC] RewriteCond %{DOCUMENT_ROOT}/%1 !-d RewriteRule ^ - [L,R=404] RewriteCond %{ HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC] RewriteCond %{DOCUMENT_ROOT}/%1 -d RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_FILENAME} -f [OR] ##RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_FILENAME} -l [OR] RewriteCond %{DOCUMENT_ROOT}/%1%{REQUEST_FILENAME} -d RewriteRule ^(.*)$ /%1/$1 [L ]

标签: apache .htaccess ubuntu mod-rewrite


【解决方案1】:

如果这有帮助 - 追踪 cmets 和 reference

<IfModule mod_rewrite.c>    
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteCond %{REQUEST_URI} !^/%1/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /%1/$1 

    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^$ %1/index.php [L] 
</IfModule>

【讨论】:

    猜你喜欢
    • 2012-01-09
    • 2012-11-23
    • 2021-11-14
    • 2017-03-05
    • 2013-11-08
    • 1970-01-01
    • 2013-01-20
    • 2014-03-17
    • 2013-12-03
    相关资源
    最近更新 更多