Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Непонятность в .htaccess
 
 автор: FatBoy   (04.10.2005 в 13:40)   письмо автору
 
 

Пытаюсь установить на хостинг 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?

   
 
 автор: Axxil   (04.10.2005 в 17:44)   письмо автору
 
   для: FatBoy   (04.10.2005 в 13:40)
 

Это диррективы модуля mod_rewrite. Модуль предназначен для для преобразования url.

Спросите на хостинге, имеется ли поддержка данного модкля апача.

Ещё здесь можно почитать:
http://www.softtime.ru/forum/read.php?id_forum=5&id_theme=7832&page=1

   
 
 автор: glsv (Дизайнер)   (05.10.2005 в 05:59)   письмо автору
 
   для: 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?
Может и наверняка влияет.

   
 
 автор: himic   (06.10.2005 в 07:12)   письмо автору
 
   для: glsv (Дизайнер)   (05.10.2005 в 05:59)
 

Этот файл подключвется в конфигурацию апача и что-то там изменяет

   
 
 автор: кен   (06.10.2005 в 14:16)   письмо автору
 
   для: 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]?

   
 
 автор: glsv (Дизайнер)   (08.10.2005 в 06:05)   письмо автору
 
   для: кен   (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 также включает регистро-независимую проверку.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования