@skyfly2010

Как написать правило для ссылок в htaccess?

Доброго вечера уважаемые про. Пишу простенький скрипт для редиректа ссылок.
Смысл такой, на сайте mysite.ru есть ссылки, надо сделать так, чтобы при клике на ссылку человек попадал на страницу сайта, которая уже в свою очередь отправляла его по адресу ссылки.
Например:
mysite.ru/bla/id/https://google.com/search/12
mysite.ru/bla/id/shop.ru?id=50
В общем все, что находится за id - должно попадать в переменную. А дальше PHP уже делает редирект.
Сейчас имеется такой код в ataccess:
RewriteRule ^bla/id/([\\/_A-Za-z0-9-]+)/?$  index.php?id=$1 [NC,L]

Но это не работает.
Мое предположение, что проблема вызвана наличием в тексте ссылок знаков препинания . или ? -_ : &
Аналогичная ситуация с кириллицей.
Порылся в интернете, но не нашел ответа. Подскажите как быть в такой ситуации.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
orlov0562
@orlov0562
I'm cool!
1) использовать urlencode для формирования url:
$baseUrl = 'mysite.ru/bla/id/';
$url = $baseUrl . urlencode('https://google.com/search/12');


2) упростить регулярное выражение, согласно требований:
RewriteRule ^bla/id/(.+)$ index.php?id=$1 [NC,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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