.Htaccess - Ошибка сервера

Я получаю следующую ошибку

Сервер обнаружил внутреннюю ошибку и не смог выполнить ваш запрос. Либо сервер перегружен, либо произошла ошибка в 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

Ответ 1

Я получил ту же ошибку раньше, и проблема - это путь местоположения .htpasswd. Убедитесь, что вы установили правильный путь для этого файла.

Ответ 2

Я получил ту же ошибку. Это произошло из-за неправильного пути файла .htpassswd.

Чтобы узнать текущий путь к каталогу, вы можете использовать следующие

echo dirname (__ FILE __);

Ответ 3

Попробуйте скопировать ваши .htaccess и другие файлы на какой-либо интернет-хостинг и посмотреть, если проблема существует. Если нет, то вы будете уверены, что это чисто проблема XAMPP. Я слышал много раз, что он действительно работает исключительно с .htaccess, выполняемым локально.

Например, у меня нет рабочей авторизации с использованием .htaccess локально, потому что сразу после того, как я предоставляю правильный логин и пароль, я вижу точно такое же сообщение об ошибке, что и вы упомянули. Что касается меня, я более чем уверен, что эта проблема связана исключительно с неправильной интерпретацией .htaccess, выполняемой XAMPP (поскольку все работает как шарм на рабочем сервере), а не некоторыми ошибками в содержимом .htaccess.

Я потратил много времени на поиск решения и оставил его. Прямо сейчас, если я разрабатываю локально, я переименовываю ".htaccess" в "htaccess", поэтому он игнорируется XAMPP (входящим в его состав Apache) и повторно активирует его только при деплоировании файлов на рабочий сервер. Этот подход, возможно, не профессионал, но он сэкономил мне много времени и сил!:]

С другой стороны, если ваш хостинг также терпит неудачу с теми же симптомами, вы узнаете, что это не проблема с выпуском XAMPP, и у вас что-то не так с вашим синтаксисом.

Посмотрите здесь для аналогичной проблемы, описанной на StackOverflow.com, где (как я думаю) причина такая же, как и в вашей проблеме.

Ответ 4

Убедитесь, что ваш script имеет строку shebang, имеет правильный путь. Как,

Xamppinstalleddrive: \XAMPP\Perl\Bin\perl.exe

Ответ 5

Я знаю, что этот пост старый как моль, но он помог мне найти мой ответ. Поэтому я подумал, что я поделюсь своим решением так или иначе.

Моя проблема заключалась в том, что у меня был файл .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>

Ответ 6

Удалите файл .htaccess и дайте wordpress создать новый для вас [Это, если вы используете сайт wordpress]. Вещи будут запущены и запущены. У меня была такая же проблема и она отсортировалась

Ответ 7

Я знаю, что это уже давно, но это сработало для меня. Как использовать htpasswd для создания защищенных каталогов XAMPP/apache

По существу, вам нужно поместить каталог ОС в файл htpasswrd (который находится за пределами htdocs по соображениям безопасности). Apache может читать вашу файловую систему, вам просто нужно указать, где находится файл.

Ответ 8

Отключение htaccess решило проблему для меня только сейчас. (Спасибо сообществу.) Однако вместо того, чтобы тонко удалить ".", Я изменил имя файла на ".htaccess.disabled".

Он выполняет одно и то же, но его гораздо легче определить, если я забуду снова его включить. (Я думаю, что все мы здесь можем подумать о времени, когда часы были потрачены впустую из-за отсутствия знака препинания.)

Ответ 9

Долгое время в этом посте у меня была похожая проблема, но я опубликую свое решение здесь. Я сталкиваюсь с этой проблемой при использовании Xampp, поэтому я внес изменение в файл httpd.conf в AllowOveride, который я установил в AuthConfig, так что установив его обратно в All, мы решим проблему.