【发布时间】:2021-06-22 10:32:28
【问题描述】:
我已经在 Raspbian 上安装了 Codeigniter 4,一切似乎都运行良好。
我的网站目录是/var/www/html
里面有两个文件夹,其中包含我想调用的两个不同的 Codeigniter-4 应用程序:
-
blue.ddns.net->/var/www/html/blue/public/index.php -
black.ddns.net->/var/www/html/black/public/index.php
所以我正在创建一个 .htaccess 文件以放入文件夹 /var/www/html/ 来处理这两个请求
好吧,我仍处于第 0 步,因为我无法让 .htaccess 文件正常工作。
下面我附上文件的副本:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /var/www/html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ blue/public/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
重写模块被激活
/var/log/apache2/error.log中出现的错误是:
/var/www/html/.htaccess: Expected </IfModule> before end of configuration, referer: https://blue.ddns.net/
【问题讨论】:
-
请将您的服务器配置/虚拟主机容器添加到您的问题中。您是否尝试对两个主机名使用单个 vHost 来执行此操作(如这里所示)?或者为每个主机名单独的 vHost 配置(当前答案推荐和假设)?
-
但是您看到的错误表明您缺少关闭
</IfModule指令 - 这在您发布的指令中并不明显。 -
您还应该完全删除
RewriteBase指令。RewriteBase指令的参数是 URL 路径,而不是文件系统路径。见httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
标签: .htaccess multisite codeigniter-4