| Автор
| Сообщение |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Собственно интересует вопрос, почему не работают вот такие условия у нашего хостера (Мастерхост)?
RewriteEngine On
#для замещения имени форума
#Переход на категорию
RewriteRule ^.*-c(\d+)$ /index.php?c=$1 [L]
#Переход в форум
RewriteRule ^.*-f(\d+)$ /viewforum.php?f=$1 [L]
#Переход в форум
RewriteRule ^.*-f(\d+)-td(\d+)-s(\d+)$ /viewforum.php?f=$1&topicdays=$2&start=$3 [L]
#Переход в форум (пометка топиков как прочтенные)
RewriteRule ^.*-f(\d+)-m0$ /viewforum.php?f=$1&mark=topics [L]
#для замещения имени топика
RewriteRule ^.*-t(\d+)$ /viewtopic.php?t=$1 [L]
#для замещения имени топика с указанием страницы
RewriteRule ^.*-t(\d+)-s(\d+)$ /viewtopic.php?t=$1&start=$2 [L]
#для замещения имени топика с указанием страницы, порядка сортировки и дней
RewriteRule ^.*-t(\d+)-pd(\d+)-po0-s(\d+)$ /viewtopic.php?t=$1&postdays=$2&postorder=asc&start=$3 [L]
#для замещения имени топика с указанием страницы, порядка сортировки и дней
RewriteRule ^.*-t(\d+)-pd(\d+)-po1-s(\d+)$ /viewtopic.php?t=$1&postdays=$2&postorder=desc&start=$3 [L]
#для замещения имени топика с указанием newest
RewriteRule ^.*-t(\d+)-v0$ /viewtopic.php?t=$1&view=newest [L]
#для замещения имени топика с указанием next
RewriteRule ^.*-t(\d+)-v1$ /viewtopic.php?t=$1&view=next [L]
#для замещения имени топика с указанием previous
RewriteRule ^.*-t(\d+)-v2$ /viewtopic.php?t=$1&view=previous [L]
Уже и так и сяк извращался...
Все время получаю 404-ю ошибку. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|
|
 |
|
|
|
Цитата |
|
Надо читать первоисточник! =)
Это работает на втором апаче, а у мастерхоста 1.3 на виртуалке =) Второй апач только на VDS
| Цитата: | Новая библиотека для работы с регулярными выражениями
В состав Apache 2.0 была включена библиотека для работы с Perl-совместимыми регулярными выраженями (PCRE). Все регулярные выражения теперь используют более мощный синтаксис Perl 5. |
|
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
В продолжение темы.. Интересный вопрос про MOD_REWRITE...
Можно ли сделать так что-бы после преобразования *.html в *.php апач не перезагружал запрос?
Вот к примеру правило :
| Код: | RewriteRule (.*)\.php error404.php [L]
RewriteRule (.*)\.html $1.php [L] |
Вот что происходит :
http://example.com/ -> index.php
http://example.com/index.html -> error404.php
А нужно :
http://example.com/index.html -> index.php
Каким образом так сделать знает кто?
pS : Немного не корректно изъясняюсь, просто не-знаю даже как спросить... _________________
 |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Помойму у Апача ест параметр, который отвечает за загружаемую страницу по умолчанию. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
to TuXAPuK
мне кажется перезапуска тут не избежать никак.
а что если поменять правила местами? правда тогда есть вероятность что ошибка 404 не будет обработана...
Добавлено спустя 1 минуту 22 секунды:
а не, гоню, 404 никуда не денется  _________________ Пойду посплю перед сном. |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
to Ktf
В принципе я ожидал такого ответа, не сказал-бы что я плохо знаю MOD_REWRITE, и сам много экспериментировал на эту тему...
Поэтому все решилось отключив .php и просто зарегистрировав новый тип, а потом поставить собственный обработчик 404й ошибки...
| Код: | # Конфигурация сервера APACHE
# Отключаем .PHP, регестрируем .LOW
RemoveType .php
AddType text/plain .php
AddType application/x-httpd-php .low
DirectoryIndex index.low
ErrorDocument 402 /error777.low
ErrorDocument 404 /error777.low
ErrorDocument 500 /error777.low
RewriteEngine On
RewriteRule (.*)\.html$ $1.low[L]
RewriteRule (.*)\.php /error777.low [L]
RewriteRule ^syst\.* /error777.low [L]
|
_________________
 |
|
| В начало |
|
 |
|