Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: Алексей от 13 Мая 2005, 19:09:20
-
Привет.
Вообщем, проблема возникла после переустановки - виртуальные хосты, где лежат файлы хтацесс, неработают. Пишет:
Forbidden
You don\'t have permission to access /admin/ on this server.
Apache/1.3.31 Server at cms Port 80
на сайте прочел, что такие ошибки возникают тогда, когда что-то в хтацесс не правильно.. хотя вроде бы 500 ошибка показатель ОШИБКИ? Ну вот, зашёл в phpinfo(), а Loaded Modules для Апача просто нет ничего - типа не один апачевский модуль не подключен, хотя подключен реврайт 100%.
Вот. как с этим бороться?..
-
Алексей:
на сайте прочел, что такие ошибки возникают тогда, когда что-то в хтацесс не правильно..
не правильно было написано на сайте. такие ошибки возникают, когда у вас нет доступа к каталогу.
обнародуйте .htaccess и посмотрите, правильные ли стоят права \\ владалец на каталог виртуального хоста.
-
Croaker:
обнародуйте .htaccess
там только директивы mod-rewrite
Croaker:
и посмотрите, правильные ли стоят права \\ владалец на каталог виртуального хоста.
а это где? как? вы имеете в виду права в *nix системе? Так не работает дома, на локалхосте, под виндой. А если убрать хтацес - работает.
-
Алексей:
там только директивы mod-rewrite
Обнародуйте директивы и URL, по которому обращаетесь к хосту (все, что идет после .ru или .com или что там у вас).
Алексей:
а это где? как?
ls -l ваш_каталог. А вообще - http://www.citforum.ru/operating_systems/unix/kravchuk/4.shtml#permissions
-
Алексей:
Так не работает дома, на локалхосте, под виндой. А если убрать хтацес - работает.
Значит отстается только п. 1 из моего предидущего поста.
-
Croaker извините, я и говорю - у меня под виндой проблемы.
Обнародуйте директивы и URL, по которому обращаетесь к хосту (все, что идет после .ru или .com или что там у вас).
я не пойму, что значит обнародуйте. показать?
вот хтацесс:
ErrorDocument 404 /index.htm
#########################
# REWRITE #
#########################
RewriteEngine on
# Если сайт лежит в корне (виртуального)сервера,
# то параметр директивы RewriteBase должен быть задан как /
# Если например сайт лежит в папке Б, которая находится в папке А,
# которая находится в корне (виртуального)сервера, то параметр директивы должен быть: /А/Б/
# обязательно со слешем на конце
#RewriteBase /sait/1/2/cms/
RewriteBase /
# Редирект для страниц "информация о пользователе"
RewriteRule ^users/([0-9]+).xhtml$ modules/userinfo.php?user_id=$1
# Редирект для страницы с выводом всех пользователей
RewriteRule ^users/$ registration/
# Редирект для страницы получения пароля/логина
RewriteRule ^getpassword.xhtml$ modules/getpassword.php
# Регистрация пользователя - ввод личных данных
RewriteRule ^registration/begin.xhtml(.+)?$ registration/begin.php$1
RewriteRule ^registration/index.xhtml$ registration/index.php
# Редактирование личных данных пользователя
RewriteRule ^edit/edit.xhtml(.+)?$ edit/edit.php$1
RewriteRule ^edit/index.xhtml$ edit/index.php
# Книги
#Редирект используемый для POST-запроса из формы
RewriteRule ^books/?$ book/index.php
#Редирект для книг
RewriteRule ^books/([a-z0-9_-]+)/?$ book/index.php?gb_id=$1
#Редирект для сепараторов
RewriteRule ^books/([a-z0-9_-]+)/([0-9]+)/?$ book/index.php?gb_id=$1&sep=$2
#Сепараторы и страницы
RewriteRule ^books/([a-z0-9_-]+)/([0-9]+)/([0-9]+)\\.xhtml$ book/index.php?gb_id=$1&sep=$2&page=$3
#Цитата
RewriteRule ^books/cite/([a-z0-9_-]+)/([0-9]+)/?$ book/index.php?action=cite&gb_id=$1&message_id=$2
#Редактирование сообщения
RewriteRule ^books/edit/([a-z0-9_-]+)/([0-9]+)/?$ book/edit_message.php?gb_id=$1&message_id=$2
# Ленты
#Редирект для ссылок на ленту вида
RewriteRule ^tapes/([a-z0-9_-]+)/?$ tape/index.php?lenta_id=$1
#Редирект для сепараторов
RewriteRule ^tapes/([a-z0-9_-]+)/([0-9]+)/?$ tape/index.php?lenta_id=$1&sep=$2
#Сепараторы и страницы
RewriteRule ^tapes/([a-z0-9_-]+)/([0-9]+)/([0-9]+)/?$ tape/index.php?lenta_id=$1&sep=$2&page=$3
#Редирект для страниц
RewriteRule ^tapes/([a-z0-9_-]+)/([a-z0-9_-]+)\\.xhtml$ tape/show_message.php?lenta_id=$1&message_id=$2
# CSS & JS
RewriteRule ^([a-z0-9_-]+)\\.css$ server/templates/$1.css
RewriteRule ^js\\.js$ server/templates/js.js
-
Алексей
Ок. Еще тогда вопрос. В каталоге /admin/ (если он есть), лежит что-то типа index.htm, index.html и index.php?
А в корневом (/) каталоге?
-
в /admin/ - index.php
в / - index.php
-
Алексей
В апачевском httpd.conf (%apache_dir%/conf/httpd.conf значение DirectoryIndex какое?
-
Croaker
DirectoryIndex index.htm index.html index.shtml index.shtm index.php3 index.php4 index.php index.phtml index.xhtml index.xhtm
:)
-
Алексей
Смотрим дальше :) Что в index.php?
-
Croaker
в некоторых файлах индексных, что в корне, только такое:
=========
т.е. вернее везде хедеры стоят.
-
Алексей
Перед этим хедером сделай вывод тестовый, типа
Если сработал - убери вывод единицы, потом сделай тоже самое в index.php того каталога, на который ведет header().
Ошибка, которую ты указал в самом начале говорит о том, что
а) либо нет индексного файла в каталоге (по твом словам он есть, т.к. index.php есть, и как индексный он обрабатывается), либо индексный файл выполняет какой-то код, который выкидывает форбидден. Ксати это лекго проверить, добавив в .htaccess вот такую строчку:
ErrorDocument 403 /403.htm
И создать в корне сайта файл 403.htm с текстом "Доступ запещен".
Если файл откроется, то, скорее всего, что-то не то со скриптом (с каким именно - нужно отслеживать принтами), может что-то с настройками.
Во всяком случае проблема точно не с mod_rewrite, т.к. он 100% рабочий.
-
ErrorDocument 403 /403.htm - НЕ-РА-БО-ТА-ЕТ! Ура! ;(
-
Алексей
А использование .htaccess в httpd.conf вообще разрешено?
-
Да.
Значит, модули Апач не видит - я убираю все директивы из хтацесс, всё ок работает. Ошибка возникает из-за того, что Апаче не видет модулей.
вот конфигурация:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule status_module modules/mod_status.so
#LoadModule info_module modules/mod_info.so
#LoadModule speling_module modules/mod_speling.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule digest_auth_module modules/mod_auth_digest.so
#LoadModule digest_module modules/mod_digest.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule unique_id_module modules/mod_unique_id.so
#
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
#
# The modules listed below, without a corresponding LoadModule directive,
# are static bound into the standard Apache binary distribution for Windows.
#
# Note: The order in which modules are loaded is important. Don\'t change
# the order below without expert advice.
#
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE, UPDATE THIS TOO!]
ClearModuleList
#AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
#AddModule mod_status.c
#AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_isapi.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
#AddModule mod_auth_anon.c
#AddModule mod_auth_dbm.c
#AddModule mod_auth_digest.c
#AddModule mod_digest.c
#AddModule mod_proxy.c
#AddModule mod_cern_meta.c
#AddModule mod_expires.c
AddModule mod_headers.c
#AddModule mod_usertrack.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
-
Алексей
Если бы апач не видел модулей, он бы ругался на директивы .htaccess. Т.е. у тебя на любой страницы сайта вылезало бы "Internal Server Error".
-
Croaker
но БЕЗ директив мод-реврайта всё работает!
-
Алексей:
но БЕЗ директив мод-реврайта всё работает!
Даже ErrorDocument 403 /403.htm
?
-
да
-
вся беда в том, что у меня какой-то глюк с системой - я не могу апач удалить, т.к. его нет в окне "установка и удаление программ", а удаление вручную и последующая установка приводит к тому, что Апач говорит мол по адресу C:\\DOCUME~\\0BC6~1\\LOCALS~1\\Temp\\_isF0\\Apache HTTP Server 1.3.31.msi
A error network occurred while attemping to read from the file .. вышеуказанный адрес...