.htaccess неправильно перезаписывает список воспроизведения m3u8

#apache #.htaccess #mod-rewrite

#apache #.htaccess #мод-перезапись

Вопрос:

Я пытаюсь сгенерировать плейлист m3u8 с помощью php-скрипта… Это работает, но многие приложения не принимают расширение php, поэтому я подумал об использовании htacces … не повезло

 RewriteEngine On
RewriteRule ^(. ).m3u8$ $1.m3u8.php [NC,L]
  

это не работает (выдает файл, который не найден при вызове list.m3u8). Разрешение 755. Никогда не изучал, как работает .htaccess, поэтому я не уверен, что не работает.

Комментарии:

1. Проверьте, включен ли ваш .htaccess плейлист или нет, поместив какой-нибудь мусорный (случайный) текст поверх вашего .htaccess и посмотрите, генерирует ли он ошибку 500 (внутренний сервер) или нет, когда вы посещаете свою страницу в браузере. ошибка 500 означает, что .htaccess включен.

Ответ №1:

Не могли бы вы попробовать следующее.

 RewriteEngine On
RewriteRule ^(.*).m3u8$ $1.m3u8.php [NC,L]
  

ИЛИ для перенаправления самого URL-адреса в браузере попробуйте:

 RewriteEngine On
RewriteRule ^(.*).m3u8$ /$1.m3u8.php [R=301,NC,L]
  

Комментарии:

1. Я думаю, вы пропустили экранирование точки раньше m3u8 в шаблоне правил

2. @anubhava, да, это необходимо, чтобы его можно было рассматривать как буквальный символ, спасибо, что сообщили, сэр, что я изменился, приветствия.

3. @gotch4, не могли бы вы, пожалуйста, очистить кеш вашего браузера или попробовать в режиме инкогнито или в браузере Chrome, у меня оба работали нормально. Также, если после очистки не работает, вы можете попробовать перезапустить службу apache очистить кэш браузера и попробовать один раз, пожалуйста, пожалуйста, дайте мне знать, как это происходит.

4. Я пробовал это, но все равно не работает. Я начинаю думать, что мой провайдер не поддерживает его должным образом

5. @gotch4 Если .htaccess переопределения не включены на сервере, это просто ничего не сделает (без ошибок). Если .htaccess переопределения включены, но mod_rewrite не включен / не загружен, вы получите сообщение об ошибке (если вы не находитесь на сервере LiteSpeed, и в этом случае он, скорее всего, просто отключится.) Напишите какую-нибудь «ерунду» в .htaccess файле — вы получаете сообщение об ошибке? Если ошибки нет .htaccess , переопределения не включены (или вы находитесь на сервере LiteSpeed).