Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Модуль rewrite и ошибка 404


Автор: Evgsf 30.6.2008, 03:32
Всем привет. 
Возникла странная проблема: 
На сайте используется модуль rewrite, при преоразованивании URL'а вида: http://site.ru/index.php?title=page&page=all&id=1 в http://site.ru/page/all/1 происходит странное... страницы с ID от 2 до 9 показываются, а страницы 1 и от 10 дальше, не работают - выдают ошибку 404. Информация которая отображается на страницах находится в базе.

Помогите решить данную проблему, а то я уже не знаю что и делать :( 

Пару моментов: 
Если обратится к станице на прямую, т.е. так http://site.ru/index.php?title=page&page=all&id=1, то она будет работать. 
На локальном хостинге все работает нормально (при обращении через rewrite и на прямую). 
Раньше, где-то месяц до возникновения ошибки, все работало нормально. 

- Перезаписывал базу из backup. 
- Смотрел логи с ошибками (написано что не найден документ http://site.ru/page/all/1), других ошибок нету. 
- Пробывал вывести значения переменных title, page и id на странице ошибки, выводятся пустые значения (может это так и должно быть...). В файле .htaccess вписал строчку ErrorDocument 404 /error.php?404 после окончания работы модуля rewrite. 
- Что-то еще пробывал, но уже забыл smile

Автор: Mal Hack 30.6.2008, 06:37
Цитата(Evgsf @  30.6.2008,  03:32 Найти цитируемый пост)
вида: http://site.ru/index.php?title=page&page=all&id=1 в http://site.ru/page/all/1 

Может наоборот ;)

Надо ды бы правила rewrite взглянуть, которые в .htaccess.

P.S. а вообще при чем тут PHP?

Автор: Evgsf 1.7.2008, 04:51
Я не знаю в чем проблема, поэтому не знаю в какой форум записть тему, тут и в PHP и в SQL и в rewrite и в чем только может и не быть проблема, я уже не знаю на что грешить.

...
RewriteCond %{REQUEST_URI} ^(.*)/(.*)/(.*)/$
RewriteRule ^(.*)/(.*)/(.*)/$ ?title=$1&page=$2&id=$3 [L,QSA]
...

Автор: Evgsf 3.7.2008, 02:37
Ох бл.., я сейчас себя об стенку убъю!

В файле .htaccess была строчка которую я добавил давно, и забыл удалить:
Код
...
RewriteCond %{REQUEST_URI} ^.*1.*$ [OR]
...
RewriteRule ^(.*)$ - [L,QSA]


Эх...

Спасибо за внимание smile

Стыдно...

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