Как перенаправить wav в mp3 в htaccess, если wav файл не найден? - PullRequest
1 голос
/ 09 апреля 2019

В корне веб-сервера находятся аудиофайлы.Файлы могут быть в формате WAV или MP3.Я пытаюсь перенаправить в файл с тем же именем, но с другим расширением.Например, если нет файла с именем hello.wav, перенаправьте его на hello.mp3.Мои попытки были на примере одного ответа о html и php.Исправьте меня!

Версия сервера: Apache / 2.4.25 (Debian 9.8)

my .htaccess:

Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.wav$ $1.mp3 [L]

Например, если нет файла симя hello.wav, перенаправить на hello.mp3.в браузере я пишу http://domain.kz/hello.wav и должен получить http://domain.kz/hello.mp3

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Я не знаю, решена ли ваша проблема, но я нашел способ, который мог бы вам помочь.https://httpd.apache.org/docs/2.4/en/rewrite/flags.html#flag_s

# Does the file exist?
RewriteCond "%{REQUEST_FILENAME}" "!-f"
RewriteCond "%{REQUEST_FILENAME}" "!-d"
# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
RewriteRule ".?" "-" [S=3]

# IF the file exists, then:
    RewriteRule "(.*\.gif)" "images.php?$1"
    RewriteRule "(.*\.html)" "docs.php?$1"
    # Skip past the "else" stanza.
    RewriteRule ".?" "-" [S=1]
# ELSE...
    RewriteRule "(.*)" "404.php?file=$1"
# END
0 голосов
/ 09 апреля 2019

Я сделал простую ошибку, не проверив полностью все настройки веб-сервера. Я включил модули "переписать" и "userdir"

sudo a2enmod rewrite
sudo a2enmod userdir

и отредактировано AllowOverride для / var / www /

<Directory /var/www/>
   Options Indexes FollowSymLinks
   AllowOverride **All**
   Require all granted
</Directory>

и перезапустите apache

systemctl restart apache2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...