Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Большие проблемы с ЧПУ 
V
    Опции темы
NLspieler
Дата 1.7.2011, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Делаю ЧПУ и все отлично работало, до тех пор, пока я не придумал запретить ссылки, содержащие ".php"

Код

RewriteRule ^exit/?$                 index.php?do=exit                [L]
RewriteRule ^admin/?$                index.php?do=admin               [L]
RewriteRule ^catalog_editing/?$      index.php?do=catalog_editing     [L]
RewriteRule ^orders/?$               index.php?do=orders              [L]
RewriteRule ^.*\.php.*               404.html                         [R]


Таким образом любой запрос, кроме site/, следует на число из трех цифр. В котором сроду нет никакого php.
Например site/exit или site/orders.
Результат выглядит довольно забавно: 404.html?do=exit или 404.html?do=orders.
При этом совершенно не важно куда писать строчку 
Код

RewriteRule ^.*\.php.*               404.html                         [R]
 и совершенно не важно, как именно донести апачу мысль при помощи регулярки, он все равно делает тоже самое.






Это сообщение отредактировал(а) NLspieler - 1.7.2011, 18:01
PM MAIL   Вверх
s0lman
Дата 1.7.2011, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

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



Ну это понятно - получается двойной редирект
exit/    -    index.php?do=exit
.*\.php.*    -    404

может как вариант перечислить в регулярке допустимые значения, если их не много ?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
NLspieler
Дата 1.7.2011, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Цитата(s0lman @  1.7.2011,  18:00 Найти цитируемый пост)

может как вариант перечислить в регулярке допустимые значения, если их не много ? 

Всмысле?


Цитата(s0lman @  1.7.2011,  18:00 Найти цитируемый пост)
Ну это понятно - получается двойной редирект
exit/    -    index.php?do=exit
.*\.php.*    -    404

Точно. Как же я сразу не догадался   smile smile 

Значит сделаю проверку прям в index.php, при помощи $_SERVER['REQUEST_URI'] и никаких проблем.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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