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

Форум Регулярные Выражения

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

 

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

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

тема: Нужна проверка выражения, которое использую в RewriteRule
 
 автор: TetRiska   (24.09.2014 в 13:18)   письмо автору
 
 

Всем привет. Написал выражение - http://rubular.com/r/2VLEw0sph9. Визуально разбивает верно, но я не уверен в его 100% качестве. Может у вас будут замечания? Выражение писал для RewriteRule. Пробую подставить:
RewriteRule .ua\/(.*)\/[?[^?]](.*) index.php?path=$1&filter=$2 [L]

получаю 404 ошибку. Что я упустил?

  Ответить  
 
 автор: ххххх   (25.09.2014 в 08:02)
 
   для: TetRiska   (24.09.2014 в 13:18)
 

М. б. такое
RewriteRule ^([^/]+)/?(.*)/?$ /?path=$1&filter=$2 [L,QSA]
или
RewriteRule ^([^/]+)/(.+)/?$ /?path=$1&filter=$2 [L,QSA]

  Ответить  
 
 автор: TetRiska   (25.09.2014 в 13:09)   письмо автору
 
   для: ххххх   (25.09.2014 в 08:02)
 

первый вариант 500 ошибку выдал, второй - 404

  Ответить  
 
 автор: ххххх   (27.09.2014 в 07:26)
 
   для: TetRiska   (25.09.2014 в 13:09)
 

точно :) первый вариант выдаёт Request exceeded the limit of 5 internal redirects
сделал обязательным только [^/]+ запрашиваю вообще test.php
причём ошибка пропадает если сделать ещё и обязательным следующий слэш
^([^/]+)/(.*)/?$

понял так что при запросе каталога типа /? всёравно идёт переадресация на индексный файл

  Ответить  
 
 автор: ххххх   (27.09.2014 в 07:36)
 
   для: TetRiska   (25.09.2014 в 13:09)
 

или так
RewriteRule ^([0-9_a-z]+)/?([0-9_a-z]*)/?$ /?path=$1........ [L,QSA]

  Ответить  
 
 автор: TetRiska   (27.09.2014 в 19:49)   письмо автору
 
   для: ххххх   (27.09.2014 в 07:36)
 

вычитал в инете, что именно я хочу получить, называют полу ЧПУ, т.е. и красивый урл и передаваемые гетом данные

к примеру у меня такие урлы будут:
http://site.ua/join/
http://site.ua/join/?type=g
http://site.ua/join/?type=g&id=3
http://site.ua/join/?type=g&id=3&page=15

нужно в итоге получить такое:
Array
(
    [path] => join
)

Array
(
    [path] => join
    [type] => g
)

Array
(
    [path] => join
    [type] => g
    [id] => 3
)

Array
(
    [path] => join
    [type] => g
    [id] => 3
    [page] => 15
)

Ваш пример помог, спасибо, но я его немного укоротил:
RewriteRule ^(.*)/$ index.php?path=$1 [L,QSA]

Все получаемые данные я буду фильтровать в пхп.

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

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