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',


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

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

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

Войти через центр авторизации
Похожие вопросы