Kik*_*ksy 16 php .htaccess apache-2.2
在 Ubuntu Precise 上运行 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>
Run Code Online (Sandbox Code Playgroud)
在我的 apache.conf 中,我添加了:
<Directory />
AllowOverride ALL
</Directory>
Run Code Online (Sandbox Code Playgroud)
它在我重新启动 apache 后工作。
小智 30
您需要配置您的 apache 以启用来自 .htaccess 文件的配置。所以在目录部分确保你有这个选项
Allowoverride ALL
Run Code Online (Sandbox Code Playgroud)
有关更多信息,有关allowoverride 的更多信息。
在您的设置中,如果您只使用 mod_rewrite 可能您只能设置 FileInfo ,我总是将Options参数设置为 SymLinksIfOwnerMatch 以便能够执行重定向到其他站点。
Allowoverride FileInfo
Options SymLinksIfOwnerMatch
Run Code Online (Sandbox Code Playgroud)
我希望它会有所帮助,如果您已经设置了此配置,请在您的虚拟主机配置中添加信息。
归档时间: |
|
查看次数: |
49512 次 |
最近记录: |