【发布时间】:2018-11-19 22:09:28
【问题描述】:
我正在尝试使用 Apache 的 mod_rewrite 将流量从我的开发 url 路由到我的 MCV 控制器。但我不断收到“内部服务器错误”。
规格:Windows 10、WAMP
本地主机网址:taskmanager.local
.htaccess 文件:
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase taskcomplete.local/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
虚拟主机:
# TaskComplete
<VirtualHost *:80>
DocumentRoot "D:\Dropbox\web\projects\php\task_complete"
ServerName taskcomplete.local
<Directory "D:\Dropbox\web\projects\php\task_complete">
Options Indexes FollowSymLinks ExecCGI Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
【问题讨论】:
-
“内部服务器错误” == 查看 error.log。没有人可以远程猜测实际问题。另外:启用 RewriteLog。
-
@mario, "RewriteBase: 参数不是有效的 URL,引用者:taskcomplete.local" 不确定哪一部分是'无效'
-
将
RewriteBase从/taskcomplete.local/public更改为/public并且没有 urlhttp://taskcomplete.local/public有效,但我希望让 localhost url 使用public作为根文件夹。
标签: php .htaccess localhost wamp