【发布时间】:2018-07-16 20:26:11
【问题描述】:
我知道有数以百万计的解决方案可用于将子域重定向到目录。但我仍然面临着这个问题。
我想按以下方式映射子域
- demo1.example.com 到 demo1 目录
- demo2.example.com 到 demo2 目录
我正在使用以下代码
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^demo1\.example\.com$
#RewriteCond %{REQUEST_URI} !^/demo1/
RewriteRule (.*) /demo1/$1 [L]
RewriteCond %{HTTP_HOST} ^demo2\.example\.com$
RewriteCond %{REQUEST_URI} !^/demo2/
RewriteRule (.*) /demo2/$1 [L]
</IfModule>
这工作正常但我在 url 中获取目录名称,如 demo1.example.com/demo1/ 为此,我使用了以下重写规则
RewriteRule ^demo1/(.*)$ /$1 [L,NC,R]
但无法从 url 中删除 demo1 我在 demo1 目录中有 codeigniter 框架,具有以下 htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>
【问题讨论】:
-
#Redirect to www location with subdirectory RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
标签: php apache .htaccess codeigniter mod-rewrite