我在旧服务器上工作,不幸的是不得不切换到一个必须从头开始重新制作的新服务器,现在这个.htaccess无效,它会向其目录中的任何请求抛出错误500
Options -MultiViews
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+admin\.php\?page=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ admin.php?page=$1 [L,QSA]
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
<Files global.php>
Order Allow,Deny
Deny from all
</Files>
Options All -Indexes
目标是向www.domain.tld/directory/log
发送请求www.domain.tld/directory/admin.php?page=log
并且还阻止查看.htaccess
文件本身或文件global.php
作为旁注,我尝试将其直接写入apache2.conf
作为目录设置,但这导致apache2服务无法启动。
答案 0 :(得分:0)
要确切地知道问题是什么,您必须检查apache error_log文件
对于cPanel服务器,您可以尝试以下命令:
tail /usr/local/apache/logs/error_log
现在.htaccess最受欢迎的500错误是使用Options
行
许多服务器配置出于安全原因不允许在.htaccess中执行Options
(覆盖配置,启用Perl执行......等)
大多数服务器已经有Options -MultiViews
和Options All -Indexes
,
使用Options
评论#
行,您的网站应运行正常。