Как использовать .htaccess для Замаскировать переменные запроса под «виртуальные каталоги»?

] Как я могу использовать https://example.com/channels/ [имя_канала] / [идентификатор_видео] отображаются в адресной строке, но мой PHP-скрипт см. https: // пример. ru / channels? channel = [channel_name] & v = [video_id] ? Учитывая, что [имя_канала] и [video_id] не будут настоящими каталогами.

-1
задан 16 May 2020 в 18:07
1 ответ

Мне удалось найти рабочий пример того, что я искал здесь:

https://www.taniarascia.com/rewrite-query-string-to-path-with -htaccess/

Рассматриваемый код выглядит так:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?users/(.*?)/?$ /users.php?name=$1 [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /users\.php\?name=([^\&\ ]+)
RewriteRule ^/?users\.php$ /users/%1? [L,R=301]

Где http://example.com/users/tania выводится как http://example.com/users. php?name=tania, именно то поведение, которое я искал.

Я понимаю назначение первых четырех строк. Может кто-нибудь уточнить, для чего последние две строки? Я протестировал этот код на https://htaccess.madewithlove.be/, и удаление последних двух строк, похоже, не повлияло на результат.

0
ответ дан 21 May 2020 в 03:58

Теги

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