Назад | Перейти на главную страницу

rewriterules + httpd.conf + .htaccess проблема (срочно сайт не работает)

Я переношу один из своих веб-сайтов с общего доступа dreamhost на dreamhost ps. файлы скопированы нормально, и DNS разрешен на новый сервер. Однако попытка получить pagw приводит к ошибке 403: доступ запрещен.

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

Я считаю, что httpd.conf блокирует использование .htaccess на новом сервере. цитата:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

Я попытался удалить htaccess и реализовать правила перезаписи в httpd.conf. безуспешно.

Мои вопросы: 1. Я попробовал AllowOverride All, чтобы .htacces работал. Это ничего не изменило. Что еще нужно проверить / сделать, чтобы все заработало?

  1. Я создал раздел каталога в httpd.conf с каталогом, в котором находятся httpdocs, и поместил туда все правила перезаписи. (и перезапустил сервер). это не имело эффекта. Есть какие-нибудь намеки на то, что нужно сделать, чтобы добавить часть каталога с перезаписываемыми элементами в .httpd.conf и советы по устранению неполадок?

  2. Как я могу проверить, работает ли мод-перезапись на этом сервере? Он включен в файле httpd.conf. Сервер находится в режиме fastcgi.

Любые другие советы очень приветствуются.

Спасибо, Ниро

Как мне переместить правила перезаписи в .htaccess в httpd.conf (и заставить его работать)

Директива Directory / определяет базовые правила для всех каталогов в системе. Обычно после определения директивы Directory / у вас есть директива Directory / my / web / root / here с более либеральными настройками конфигурации.

Не путайте каталог / с корневым веб-сайтом вашего веб-сайта, это не так.

Ваши правила перезаписи должны применяться либо внутри директивы Directory / my / web / root / here, либо в VirtualHost для конкретного сайта (если вы используете VirtualHosts, очень часто).

Изменение AllowOverride на All in Directory / может быть перезаписано определенным Directory / my / web / root / здесь или VirtualHost для сайта, в частности.

Возможно, если бы вы могли pastebin (http://www.paste2.org/) всей конфигурации Apache, мы могли бы лучше понять проблему.

Пользователь Apache должен иметь доступ для чтения к файлу .htaccess.

Спасибо за ответы. Наконец я обнаружил, что фактический файл httpd.conf находится по другому пути, он не был виден из-за разрешений. На всякий случай он был по адресу:

/ usr / local / dh / apache2 / apache2-psnum / etc / (psnum - это номер сервера)

Я поместил рерайты туда, в раздел каталогов своего сайта, и все работает.