09
Авг
2016

Как сделать, чтобы в RewriteRule передавались GET параметры?

У меня в .htaccess прописано следующее:

RewriteRule ^([a-zA-Z]+)/games/([A-Za-z0-9-?._]+)$ /games/index.php?lang=$1&name=$2 [L]

Как мне сделать что бы можно было к url ещё дописать дополнительные параметры, но уже не через .htaccess а прямо в адресной строке?

Например:

  • сейчас у меня есть url вот такой: site.ru/ru/games/starcraft
  • как мне сделать что бы прописать параметр вот так: site.ru/ru/games/starcraft?hideblock=true, где hideblock это параметр который передается $_GET запросом в файл /games/index.php ?

В /games/index.php пишу:

<?php
$hideblock = $_GET['hideblock'];
echo $hideblock;
?>

А в htaccess пишу:

RewriteRule ^([a-zA-Z]+)/games/([A-Za-z0-9-?._]+)?hideblock=([a-zA-Z]+)$     /games/index.php?lang=$1&name=$2&hideblock=$3 [L]  

и ничего не работает!

Как сделать роутинг на php что бы в .htaccess каждый параметр не писать?

UPD: Добавил: [L, QSA] сервер выдает:

Internal Server Error

Источник: https://ru.stackoverflow.com/questions/553501/%D0%9A%D0%B0%D0%BA-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D1%87%D1%82%D0%BE%D0%B1%D1%8B-%D0%B2-rewriterule-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D0%BB%D0%B8%D1%81%D1%8C-get-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B

Тебе может это понравится...

Добавить комментарий