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

Форум Apache

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

 

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

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

тема: шаблон
 
 автор: serjinio   (19.08.2009 в 15:34)   письмо автору
 
 

RewriteRule ^([A-Za-z0-9\-]+)/$ index.php?s=$1 [QSA,L]

http://www.site.ru/a-b-c/ в переменной $s --> a-b-c
http://www.site.ru/&a-b-c/ в переменной $s --> '' редирект на 404
http://www.site.ru/?a-b-c/ в переменной $s --> '' нет редиректа на 404 почему?

  Ответить  
 
 автор: heed   (19.08.2009 в 16:50)   письмо автору
 
   для: serjinio   (19.08.2009 в 15:34)
 

?a-b-c/
всё что после ? это QUERY_STRING
вместе с ? оно не сопостовляется шаблону

  Ответить  
 
 автор: serjinio   (19.08.2009 в 18:05)   письмо автору
 
   для: heed   (19.08.2009 в 16:50)
 

а как победить ,чтобы при http://www.site.ru/?a-b-c/ происходил редирект на 404

  Ответить  
 
 автор: heed   (19.08.2009 в 18:47)   письмо автору
 
   для: serjinio   (19.08.2009 в 18:05)
 

както так наверное
RewriteCond %{QUERY_STRING} ^a-b-c
RewriteRule .*  /404.html 


или так-же но
RewriteRule .* - [R=404]

  Ответить  
 
 автор: serjinio   (19.08.2009 в 20:20)   письмо автору
 
   для: heed   (19.08.2009 в 18:47)
 

Спасибо то что надо!

  Ответить  
 
 автор: serjinio   (20.08.2009 в 23:51)   письмо автору
 
   для: serjinio   (19.08.2009 в 20:20)
 

Чуть поэксперементировал
RewriteCond %{QUERY_STRING} ^.*/
RewriteRule .* - [R=404,L]

для ссылок типа http://www.site.ru/a-b-c/ авава/ работает отлично ,но для ссылок http://www.site.ru/a-b-c/ авава/zzzz.html не срабатывает ..переделал работает
RewriteCond %{QUERY_STRING} ^.*/ [OR]
RewriteCond %{QUERY_STRING} ^.*\.html
RewriteRule .* - [R=404,L]

может есть вариант попроще?

  Ответить  
Rambler's Top100
вверх

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