Kozack
@Kozack
Thinking about a11y

Помогите с регулярным выражением в htaccess

Хочу сделать перенаправление с адреса вида:
site.com/play/?t=title&l=link на site.com/title.html

Пишу:
RewriteEngine On
RewriteBase /
RewriteRule ^play/\?t=([a-z0-9-_]+)&l=[a-z0-9-_.:/]+$ $1.html [R]

Но не работает :(
  • Вопрос задан
  • 7133 просмотра
Пригласить эксперта
Ответы на вопрос 2
BuriK666
@BuriK666
Компьютерный псих
используйте RewriteCond и %{QUERY_STRING}
Ответ написан
@elgordo
Так и напишите просто PHP скрипт, у вас же параметры не в пути содержатся, а после знака '?'.

index.php

<?php
$t=$_GET['t'];
$l=$_GET['l'];

include $t.".html";
?>

Обычно mod_rewrite используют чтобы URL вида site.com/title.html преобразовать в site.com/play/?t=title&l=link, а не наоборот.
Как вам уже написали, вы действительно можете использовать %{QUERY_STRING} чтобы передать параметры скрипта, но мне кажется, это достаточно бессмысленно.

p.s. Должно быть [a-z0-9_-]+ а не [a-z0-9-_]+
Ответ написан
Ваш ответ на вопрос

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

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