Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Проблема с .htaccess и .htpasswd


Автор: vlad275 7.2.2010, 23:06
.htaccess
Цитата

AuthType Basic
AuthName "Введите логин и пароль"
# Путь к файлу с паролями .htpasswd
AuthUserFile /usr/local/apache/htdocs/.htpasswd
require valid-user



.htpasswd
Цитата

#--->  This file was generated in 'Htpasswd Generator' (07.02.2010)   <---#
#--->                    www.htpasswdgenerator.com                    <---#

#--->   Total users:    1                                             <---#
#--->   Disabled users: 0                                             <---#

admin:$apr1$z35.....$Z5plt1n0ADFrhmtNcL5we0
#+++>FullName=admin<+++#
#+++>RealPassword=1Hd7<+++#




http://lublino39.net84.net/images/
выводит ошибку:
Цитата


Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.



В чем ошибка?

Автор: DSsupport 11.2.2010, 11:02
Цитата

More information about this error may be available in the server error log.


Просьба показать кусок error.log-а апача с данной ошибкой.

Спасибо.

Автор: vlad275 11.2.2010, 18:15
Это бесплатные урезанный хостинг на 000webhost.com, боюсь, что не смогу

Автор: DSsupport 11.2.2010, 18:28
Если убираете Basic Auth, то все работает?

Автор: vlad275 11.2.2010, 19:49
Да. Сейчас закомментировал - работает, но хочется сделать вход по паролю http://lublino39.net84.net/images/

Автор: DSsupport 12.2.2010, 10:51
Ошибка синтаксиса или файл записан не в том формате.

Синтаксис .htaccess 
Цитата

Вот обязательной синтаксис, несоблюдение которого приводит к ошибкам сервера:
- пути к файлам (директориям) указываются от корня сервера. Пример: /opt/home/www.astanafoto.com/htdocs/config/.htpasswords
- домены с указанием протокола
Пример: Redirect / http://www.site.ru

Файл имеет название именно "точка" htaccess 
Должен быть записан в UNIX-формате. Для оболочки FAR, достигается F4 (редактирование файла), Shift+F2 (выбрать "сохранить как UNIX-текст").


Убедитесь что файл записан в Unix формате.

Спасибо.

Автор: vlad275 12.2.2010, 13:22
Проверил путь к корню http://lublino39.net84.net/a.php
/usr/local/apache/htdocs

.htaccess
Цитата

AuthType Basic
AuthName "Введите логин и пароль"
# Путь к файлу с паролями .htpasswd
AuthUserFile /usr/local/apache/htdocs/.htpasswd
Require valid-user


Поместил в public_html файлы .htaccess и .htpasswd 
Файлы в кодировке UTF-8

Ошибка:
Цитата

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


Автор: DSsupport 12.2.2010, 14:14
.htaccess должен быть записан в формате ОС вашего сервера.
Дело в том, что в Windows и DOS перевод строки обозначается двумя спец-символами - "\r\n" (0x0D 0x0A или 13 10), а в UNIX одним - "\n" (0x0A или 10). Поэтому если на сервере стоит UNIX, то файл, написанный под Windows, работать не будет.
Поэтому его необходимо одно из следующего:
a) открыть в 16-ричном редакторе и запустить замену 0x0D на 0x20 (пробел в 16-ричном варианте).
b) Обработать файл данной функцией (php5):
Код

<?php file_put_contents($filename, strtr(file_get_contents($filename, array("\r\n" => "\n")))); ?>


c) Создавать файл непосредственно на сервере с помощью php-скрипта.
d) Использовать ASCII-режим передачи данных в вашем ftp-клиенте.
e) Настроить ваш php-редактор так, чтоб он сохранял файлы в UNIX-формате.

Я отправил Вам сообщение в личку.

Автор: DSsupport 15.2.2010, 21:42
phpinfo выдал:
Цитата

DOCUMENT_ROOT = /usr/local/apache/htdocs 
SCRIPT_FILENAME = /www/lublino39.net84.net/images/info.php 


Проблема разрешилась установкой директивы AuthUserFile /www/lublino39.net84.net/images/.htpasswd

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)