我收到以下错误
服务器遇到内部错误,无法完成您的请求。服务器过载或CGI脚本出错。
如果您认为这是服务器错误,请与网站管理员联系。
错误500
184.82.228.38 2012年1月9日星期一02:48:12 Apache / 2.2.21(Unix)DAV / 2 mod_ssl / 2.2.21 OpenSSL / 1.0.0c PHP / 5.3.8 mod_apreq2-20090110 / 2.7.1 mod_perl / 2.0.5 Perl / v5.10.1
我正在运行XAMPP服务器 这是我的htaccess文件,我不明白是什么问题。
AuthType Basic
AuthName "Members Area"
AuthUserFile /opt/lampp/htdocs/.htpasswd
Require valid-user
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /members/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /members/index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:3)
之前我遇到了同样的错误,问题是.htpasswd的位置路径。确保您已为该文件设置了正确的路径。
答案 1 :(得分:3)
我得到了同样的错误。这是由于.htpassswd
文件的路径不正确。
要了解您可以使用的当前目录路径
echo dirname(__ FILE __);
答案 2 :(得分:2)
尝试将.htaccess和其他文件复制到某些Internet虚拟主机,如果问题存在,请查看。如果没有,那么你将确定这纯粹是XAMPP问题。我多次听说它真的很纯粹是关于.htaccess本地运行。
例如,我没有在本地使用.htaccess进行工作自动化,因为在我提供正确的登录名和密码后,我看到了与您提到的完全相同的错误消息。至于我,我更确定这个问题纯粹与XAMPP对.htaccess的错误解释有关(因为一切都像生产服务器上的魅力一样),而不是.htaccess内容中的一些错误。
我浪费了太多时间寻找解决方案而离开了它。目前,如果我在本地开发,我将“.htaccess”重命名为“htaccess”,因此它被XAMPP(Apache on-board)忽略,只有在将文件迁移到生产服务器时才重新启用它。这种方法可能不专业,但它为我节省了大量的时间和压力! :
另一方面,如果您的托管也因相同的症状而失败,那么您就会知道,这不是XAMPP相关的问题,而且您的语法有问题。
请查看here以了解StackOverflow.com上报告的类似问题,其中(我认为)原因与您的问题相同。
答案 3 :(得分:0)
确保您的脚本中的shebang行具有正确的路径。 像,
Xamppinstalleddrive:<强> \ XAMPP \ perl的\ BIN \ perl.exe所在强>
答案 4 :(得分:0)
我知道这篇文章很老了,但它帮助我找到答案。所以我想,无论如何我会分享我的解决方案。
我的问题是,我在htdocs文件夹中有一个.htaccess文件。当我移动/重命名它,然后它工作。
我的.htaccess文件看起来像这样:
Header add "disablevcache" "true"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTP_HOST} !^www.COMPANYNAME.dk$ [NC]
RewriteRule ^(.*)$ http://www.COMPANYNAME.dk/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /404.php [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.COMPANYNAME.dk/$1 [R=301,L]
ErrorDocument 404 /404.php
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
Header unset ETag
FileETag None
<ifmodule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</ifmodule>
答案 5 :(得分:0)
删除.htaccess文件,让wordpress为你创建一个新文件[这是你正在运行一个wordpress网站]。 事情将会启动并运行。我遇到了同样的问题,并将其排序
答案 6 :(得分:0)
我知道这已经过时了,但这对我有用。 How to use htpasswd to create protected directories XAMPP / apache
基本上,您需要放置htpasswrd文件的OS目录(出于安全原因,它位于htdocs之外)。 Apache可以读取您的文件系统,您只需要告诉它文件的位置。
答案 7 :(得分:0)
禁用htaccess刚刚为我解决了这个问题。 (感谢社区。)但是,我没有巧妙地删除&#34;。&#34;,而是将文件名更改为&#34; .htaccess.disabled&#34;。
它实现了同样的目标,但如果我以后忘记重新启用它,它会更容易被发现。 (我想我们这里的所有人都可以想到因为标点符号丢失而浪费时间的时间。)
答案 8 :(得分:0)
我在禁用模块后解决了:
sudo a2enmod -d deflate
杀死apache并重新启动apache服务。
也许禁用最近启用的模块可以解决您的问题。
答案 9 :(得分:-1)
这篇文章的时间很长,我也遇到类似的问题,但是我将在这里发布我的解决方案。我在使用Xampp时遇到此问题,所以我在httpd.conf文件中进行了更改 我将其设置为AuthConfig的AllowOveride,因此将其设置回全部将解决此问题。