Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исключить директорий из правил mod_rewrite 
V
    Опции темы
Wolf1994
Дата 18.10.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Провёл полчаса в поиске по Яндексу, но ничего не нашёл...

Как исключить определённый директорий со всеми поддиреториями и файлами из обработки модом-реврайтом?

То есть, как, например, сделать, чтобы в этих правилах:

Код

RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]
RewriteRule ^informer[^0-9]+([0-9]+)[^0-9]+([0-9]+)[/]*$ informer.php?type=$1&id=$2 [L,NS]
RewriteRule ^[A-Za-z/0-9]+\.txt$ /page404.php


игнорировался директоий works и его вхождения?

...И чтобы два раза не спрашивать smile можно ли исключить тот же директоий из конкретного правила? Например:

Код

RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]


 smile 
PM MAIL WWW   Вверх
Mal Hack
Дата 18.10.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



RewriteRule ^/works(.*?)$ /works$1 [L]
В самое начало
PM ICQ   Вверх
Wolf1994
Дата 19.10.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Цитата(Mal Hack @  18.10.2006,  21:48 Найти цитируемый пост)

RewriteRule ^/works(.*?)$ /works$1 [L]


Не работает (500 ошибка) smile

Причём, так работает правило:

Код

RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]


А так тоже - нет:

Код

RewriteRule ^works([A-Za-z/0-9-]+)$ /works$1 [L,NS]


Это сообщение отредактировал(а) Wolf1994 - 19.10.2006, 11:16
PM MAIL WWW   Вверх
Wolf1994
Дата 19.10.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Так сработало:
RewriteRule ^works([A-Za-z/0-9-]+)$ works$1/index [L,NS]

Вопрос решён.

Добавлено @ 21:16 
...Если бы ещё знать почему сработало и почему не работало по-другому...
PM MAIL WWW   Вверх
Mal Hack
Дата 19.10.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Попробуй так. 
Код
RewriteRule ^/works(.*)$ /works$1 [L]


Твой вариант не пропустит к примеру URL: works/по русски или works/we_34/
PM ICQ   Вверх
Wolf1994
Дата 20.10.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Мой вариант не сработал на хостинге (сработал на Денвере) - "Ошибка 500".
Твой вариант или проигнорировался, или "взялся", но при повторном прохождении перешёл на обработку к:
Код

RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]


То есть правила:
Код

RewriteRule ^/works(.*)$ /works$1 [L]
RewriteRule ^informer[^0-9]+([0-9]+)[^0-9]+([0-9]+)[/]*$ informer.php?type=$1&id=$2 [L,NS]
RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]


привели к исполнению index.php  smile 
PM MAIL WWW   Вверх
Mal Hack
Дата 20.10.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Код
RewriteRule ^/?works(.*)$ /works$1 [L]
RewriteRule ^informer[^0-9]+([0-9]+)[^0-9]+([0-9]+)[/]*$ informer.php?type=$1&id=$2 [L,NS]
RewriteRule ^([A-Za-z/0-9-]+)$ /index.php?query=$1 [L,NS]

PM ICQ   Вверх
Wolf1994
Дата 20.10.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



"Internal Server Error" и на Денвере и в Сети  smile 

Может надо сделать поправку на версию Apache? На хостинге стоит Apache/1.3.33 (Unix).
PM MAIL WWW   Вверх
Mal Hack
Дата 20.10.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Это тут не причем...
Код
RewriteRule works(.*)$ /works$1 [L]

PM ICQ   Вверх
Wolf1994
Дата 21.10.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Ошибка.

А может, то что я хочу - невозможно? То есть непредусмотрена перезапись с одного "красивого" URL на другой?
PM MAIL WWW   Вверх
Wolf1994
Дата 21.10.2006, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 3
Всего: 29



Нашёл!!!

Код

RewriteRule ^works/.*$ - [L,NS]

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.