在Ubuntu精确运行Apache,使用PHP 5.5
试图访问我的var/www/给我一个500。
/var/log/apache2/error.log
说明:
/ var/www/web/.htaccess: <IfModule not allowed here
我的.htacess是:
DirectoryIndex app.php <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/app.php [L] </IfModule> <IfModule !mod_rewrite.c> <IfModule mod_alias.c> RedirectMatch 302 ^/$ /app.php/ </IfModule> </IfModule>
进入我的apache.conf我补充说:
<Directory /> AllowOverride ALL </Directory>
它重新启动Apache后,它的工作。
您需要configuration您的apache以从.htaccess文件启用configuration。 所以在目录部分,确保你有select
Allowoverride ALL
了解更多关于allowoverride的更多信息。
在你的设置中,如果你只使用mod_rewrite,也许你可以只设置FileInfo,我总是设置选项参数SymLinksIfOwnerMatch能够执行redirect到其他网站。
Allowoverride FileInfo Options SymLinksIfOwnerMatch
我希望这会有所帮助,如果你已经设置了这个configuration,请添加你的虚拟主机configuration信息。