xxduhastxx
@xxduhastxx

Как сделать правильный urlrewrite?

Цель сделать правильную обработку url написав регулярное выражение в urlrewrite.php

Сейчас реализовано так

$arUrlRewrite=array (
  0 => 
  array (
    'CONDITION' => '#^/uslugi/([a-z-0-9_]+)/([a-zA-Z0-9\\.\\-_]+)/?.*#',
    'RULE' => 'SECTION_CODE=$1&CODE=$2',
    'ID' => '',
    'PATH' => '/uslugi/detail.php',
    'SORT' => 100,
  ),
  1 => 
  array (
    'CONDITION' => '#^/uslugi/([a-zA-Z0-9\\.\\-_]+)/?.*#',
    'RULE' => 'SECTION_CODE=$1',
    'ID' => '',
    'PATH' => '/uslugi/index.php',
    'SORT' => 100,
  ),
);


Но хочется добиться чтобы все ссылки были со слэшем на конце без всяких редиректов в htacces

Если в регулярном выражение убираю ?.* после слэша, все работает и ссылки без слэша ведут на страницу 404, а со слэшем открываются
'CONDITION' => '#^/uslugi/([a-zA-Z0-9\\.\\-_]+)/#,
Но если в конце ссылки присутствует запрос ?
например: utm метка ?utm=Привет
или GET ссылка также ведет на 404, чего быть не должно

Этот вариант почему-то тоже не робит
'CONDITION' => '#^/uslugi/([a-zA-Z0-9\\.\\-_]+)/(?.*)#',
    'RULE' => 'SECTION_CODE=$1$2',


Добрые люди, подскажите плз как реализовать данную задачу без редиректов, наверняка сеошники и владельцы сайтов скажут Вам спасибо! =)

Вообщем не понимаю зачем плодить лишние ридеректы, если можно как-то поисковым роботам дать четкую ссылку
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 1
serginhold
@serginhold
с точки зрения регулярки, спец символы нужно экранировать, во втором варианте обратный слэш поставь перед знаком вопроса
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы