Ответ 1
Я получил ту же ошибку раньше, и проблема - это путь местоположения .htpasswd. Убедитесь, что вы установили правильный путь для этого файла.
Я получаю следующую ошибку
Сервер обнаружил внутреннюю ошибку и не смог выполнить ваш запрос. Либо сервер перегружен, либо произошла ошибка в CGI script.
Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.
Ошибка 500
184.82.228.38 Пн Янв 9 02:48:12 2012 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
Я получил ту же ошибку раньше, и проблема - это путь местоположения .htpasswd. Убедитесь, что вы установили правильный путь для этого файла.
Я получил ту же ошибку. Это произошло из-за неправильного пути файла .htpassswd
.
Чтобы узнать текущий путь к каталогу, вы можете использовать следующие
echo dirname (__ FILE __);
Попробуйте скопировать ваши .htaccess и другие файлы на какой-либо интернет-хостинг и посмотреть, если проблема существует. Если нет, то вы будете уверены, что это чисто проблема XAMPP. Я слышал много раз, что он действительно работает исключительно с .htaccess, выполняемым локально.
Например, у меня нет рабочей авторизации с использованием .htaccess локально, потому что сразу после того, как я предоставляю правильный логин и пароль, я вижу точно такое же сообщение об ошибке, что и вы упомянули. Что касается меня, я более чем уверен, что эта проблема связана исключительно с неправильной интерпретацией .htaccess, выполняемой XAMPP (поскольку все работает как шарм на рабочем сервере), а не некоторыми ошибками в содержимом .htaccess.
Я потратил много времени на поиск решения и оставил его. Прямо сейчас, если я разрабатываю локально, я переименовываю ".htaccess" в "htaccess", поэтому он игнорируется XAMPP (входящим в его состав Apache) и повторно активирует его только при деплоировании файлов на рабочий сервер. Этот подход, возможно, не профессионал, но он сэкономил мне много времени и сил!:]
С другой стороны, если ваш хостинг также терпит неудачу с теми же симптомами, вы узнаете, что это не проблема с выпуском XAMPP, и у вас что-то не так с вашим синтаксисом.
Посмотрите здесь для аналогичной проблемы, описанной на StackOverflow.com, где (как я думаю) причина такая же, как и в вашей проблеме.
Убедитесь, что ваш script имеет строку shebang, имеет правильный путь. Как,
Xamppinstalleddrive: \XAMPP\Perl\Bin\perl.exe
Я знаю, что этот пост старый как моль, но он помог мне найти мой ответ. Поэтому я подумал, что я поделюсь своим решением так или иначе.
Моя проблема заключалась в том, что у меня был файл .htaccess в папке htdocs. Когда я переместил/переименовал его, это сработало.
Мой .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>
Удалите файл .htaccess и дайте wordpress создать новый для вас [Это, если вы используете сайт wordpress]. Вещи будут запущены и запущены. У меня была такая же проблема и она отсортировалась
Я знаю, что это уже давно, но это сработало для меня. Как использовать htpasswd для создания защищенных каталогов XAMPP/apache
По существу, вам нужно поместить каталог ОС в файл htpasswrd (который находится за пределами htdocs по соображениям безопасности). Apache может читать вашу файловую систему, вам просто нужно указать, где находится файл.
Отключение htaccess решило проблему для меня только сейчас. (Спасибо сообществу.) Однако вместо того, чтобы тонко удалить ".", Я изменил имя файла на ".htaccess.disabled".
Он выполняет одно и то же, но его гораздо легче определить, если я забуду снова его включить. (Я думаю, что все мы здесь можем подумать о времени, когда часы были потрачены впустую из-за отсутствия знака препинания.)
Долгое время в этом посте у меня была похожая проблема, но я опубликую свое решение здесь. Я сталкиваюсь с этой проблемой при использовании Xampp, поэтому я внес изменение в файл httpd.conf в AllowOveride, который я установил в AuthConfig, так что установив его обратно в All, мы решим проблему.