#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).