【发布时间】:2019-07-11 06:13:01
【问题描述】:
我正在通过Apache vhost 文件中的以下代码将我网站的子文件夹重写为子域:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. example.com
RewriteCond %{HTTP_HOST} ^(www\.)?(([^\.]+)\.){1}example.com$
RewriteCond /var/www/example.com/web/crm/build/%3 -d
RewriteRule ^/(.*) /crm/build/%3/$1
所以https://example.com/web/crm/folder = https://folder.example.com
我也使用.htaccess 将/index.php/ 隐藏在codeigniter url 中
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
AddDefaultCharset utf-8
example.com/web/crm/folder 工作正常
folder.example.com 我得到 505 内部错误,一旦我删除 .htaccess 中的行或只是通过 folder.example.com/index.php/ 简单访问网站(日志中没有显示任何内容),该错误就会好起来
我想修复子域的重写冲突
【问题讨论】:
标签: php apache .htaccess codeigniter mod-rewrite