|
|
|
| Пытаюсь установить на хостинг CMS Limbo. В комплект входит .htaccess следующего содержания:
RewriteEngine On
RewriteBase /
RewriteRule ^content(.*) index.php
RewriteRule ^component/(.*) index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php
php_value error_reporting 7
|
Возник вопрос: а что, собственно, означают КАЖДАЯ строка? (в описаниях .htaccess этого форума ничего подобного не нашел).
Вообще-то возникли странности в работе CMS:
при инсталяции все проходит, но при последующем обращении к сайту ошибка 500.
после удаления .htaccess сайт появляется нормально, но при попытке войти в админ-панель возвращает опять на запрос пароля (кстати, если пароль заведомо не правильный, то сообщает, "что пароль не правильный", если все правильно, то молча спрашивает имя-пароль опять). Может ли на что-либо так влиять этот .htaccess? | |
|
|
|
|
|
|
|
для: FatBoy
(04.10.2005 в 13:40)
| | Это диррективы модуля mod_rewrite. Модуль предназначен для для преобразования url.
Спросите на хостинге, имеется ли поддержка данного модкля апача.
Ещё здесь можно почитать:
http://www.softtime.ru/forum/read.php?id_forum=5&id_theme=7832&page=1 | |
|
|
|
|
|
|
|
для: FatBoy
(04.10.2005 в 13:40)
| | RewriteEngine On
Включает режим преобразования URL
RewriteBase /
Область преобразования. В данном случае весь сайт. Можно ограничить какой-либо директорией, например:
RewriteBase /dir
RewriteRule ^content(.*) index.php
Все запросы, начинающиеся со слова content перенаправлять на скрипт index.php
RewriteRule ^component/(.*) index.php
Все запросы, начинающиеся с указания папки component перенаправлять на скрипт index.php
RewriteCond %{REQUEST_FILENAME} !-f
Если файл, указанный в запросе не существует, то....
RewriteRule (.*) index.php
Переправлять все запросы на index.php
php_value error_reporting 7
Устанавливается значение php-директивы error_reporting. Эта директива прописана в php.ini, но ее значение можно менять с помощью директив Apache.
>при инсталяции все проходит, но при последующем обращении к сайту ошибка 500
1. Установите RewriteEngine Off
Если 500 ошибка пропала, то попробуйте последовательно исключать (закомментировать) директивы .htaccess. Для этого нужно добавлять символ # перед каждой строкой
2. Попробуйте убрать последнюю директиву с error_reporting
>Может ли на что-либо так влиять этот .htaccess?
Может и наверняка влияет. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.10.2005 в 05:59)
| | Этот файл подключвется в конфигурацию апача и что-то там изменяет | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.10.2005 в 05:59)
| | Ещё вопрос по .htaccess. У меня там директива:
ErrorDocument 404 http://www.site.ru/404.php
|
А как сделать, чтобы скрипту 404.php было известно, какой именно адрес не найден?
Как я понял, можно пользоваться другим способом обработки ошибок:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) 404.php
|
Как при этом способе 404.php может узнать ненайденный адрес - через GLOBALS, referer или ещё как?
А ещё хостер прописал там такое:
RewriteCond %{HTTP_REFERER} !^http://mysitel.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://mysite.ru$ [NC]
|
Что это за директивы? Что за [NC]?
А запрет на загрузку файлов некоторых типов рекомендовали задавать так:
RewriteRule .*\.(jpg|htm|txt)$ - [F,NC]
|
Тут что за [F,NC]? | |
|
|
|
|
|
|
|
для: кен
(06.10.2005 в 14:16)
| | >Ещё вопрос по .htaccess. У меня там директива:
>ErrorDocument 404 http://www.site.ru/404.php
>А как сделать, чтобы скрипту 404.php было известно, какой именно адрес не найден?
Я определять так:
<?
$serv = $_SERVER["SERVER_NAME"];
$page = "http://".$serv.$_SERVER['REQUEST_URI'];
?>
|
И переменную page записывать в файл
RewriteCond %{HTTP_REFERER} !^http://mysitel.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://mysite.ru$ [NC]
|
Здесь проверяется условия, что реферер не равен текущему сайты. Если не равен, то выполняется директива RewriteRule, которая должно быть записано ниже.
[NC] включает регистро-независимость поиска. Это сокращение от No-Case
>Тут что за [F,NC]?
F – forbidden. Браузеру выдается заголовок 404 (forbidden), который сопровождается текстом в браузере "HTTP response of 403" или "403 Forbidden…". Доступ запрещен.
Флаг NC также включает регистро-независимую проверку. | |
|
|
|