mod_rewrite для iframe указывает на mediaurl и сохраняет параметры GET - PullRequest
1 голос
/ 26 июля 2011

У меня есть iframe для встраивания аудио, которое указывает на src, подобный этому ...

http://domain.com/embed/mediaID

На уровне встраивания у меня есть index.php прослушивание GET-запросов, но оно, конечно, никогда не получитзапросы, если я не сделаю какое-то перенаправление в моем .htaccess, например, так ...

RewriteEngine On
RewriteRule ^([^/]*)$ index.php?var1=$1 [L]

Это объясняет схему пути, поэтому я могу указать на mediaID, как это, но это не масштабируется в этомЯ не могу легко добавить больше параметров GET.

Я вижу, что YouTube и Vimeo указывают на mediaID, но затем разрешают GET-параметры.

Насколько я понимаю, переписывание - это путь для этого, но, возможно, я ошибаюсь.Я определенно предпочел бы передать mediaID как параметр GET и пропустить написание каждого параметра, который я когда-либо буду использовать в .htaccess, но это не тот путь, по которому пошли YouTube и Vimeo, они, похоже, нашли масштабируемый способ сделать это.

Почему их подход к указанию на mediaID лучше, чем передача URL-адреса как GET?Я полагаю, их подход - хорошая практика, возможно, я предполагаю многое.

Каков наилучший способ получить прямую ссылку на идентификатор носителя и сохранить параметры GET в масштабируемом виде.

1 Ответ

2 голосов
/ 26 июля 2011

Если вы хотите сохранить существующую строку запроса после перезаписи, просто используйте флаг QSA в вашем правиле:

RewriteRule ^([^/]*)$ index.php?var1=$1 [QSA,L]

Затем, в дополнение к var1, вы получите те параметры, которые были переданы как часть исходного запроса.

...