Как сделать подмену адреса файла? htaccess или php

191
05 марта 2019, 21:20

Как сделать редирект обращения к файлу? Например есть файл site.ru/file.rar При обращении должен загружаться из site.ru/disk/file.rar

Answer 1

Это не на php а на стороне сервера стоит сделать если nginx то location

location ^(.*).rar {
   root /your/directory/disk/;
}

на php только кастыли на подобие

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
// читаем файл и отправляем его пользователю
readfile($file);
Answer 2
  1. Через .htaccess (Apache)

Регистрируете mod_rewrite

Настраиваете RewriteRule в .htaccess

  1. Через php

Настраиваете свой сервер, чтобы в случае ошибки 404 он перебрасывал на ваш скрипт.

В скрипте анализируете url, и если нужно, отдаете нужный файл, если нет - отвечаете стандартным сообщением 404.

В обоих случаях вам нужно точно определиться в каких случаях нужно перенаправлять в disk, а в каких - нет

READ ALSO
Добавить значения в новый тип атрибутов WP

Добавить значения в новый тип атрибутов WP

Необходимо добавить новый тип атрибута

176
PHP ключ в массиве не заменятся

PHP ключ в массиве не заменятся

Почему в первом коде "1" ключ не заменяется, а втором элемент "b" заменяется?

190
Nginx, как сделать корневую папку проекта “public”?

Nginx, как сделать корневую папку проекта “public”?

Есть проект на Laravel, закинул его на сервер "Nginx" как сделать корневую папку "Public"? Вот сам файл nginxconf

269
Количество цифр в целой части

Количество цифр в целой части

Как во время компиляции узнать количество цифр в целой части числа?

215