Полностью скрыть имена файлов в URL-адресе

#url

#url

Вопрос:

Я хочу получить доступ к множеству загружаемых PDF-файлов в одной папке, скрыв расширение «.pdf» в URL. Похоже, это не работает с файлом .htaccess. Например: как я могу загрузить файлы по адресу «example.com/subfolder/one.html » «example.com/subfolder/two.html » с URL — адресами «example.com/subfolder/one » и «example.com/subfolder/two «

Ответ №1:

Запрос example.com/example.pdf загрузить файл из example.com/subfolder/example.pdf

 RewriteEngine On
RewriteRule ^example.pdf$ /subfolder/example.pdf [L]
  

или переписать все запросы к файлам pdf из корня в подпапку — example.com/filename.pdf чтобы example.com/subfolder/filename.pdf

 RewriteEngine On
RewriteRule (.*).pdf$ /subfolder/$1.pdf [L]
  

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

1. Спасибо, что пытались мне помочь. Я отредактировал свой пост, чтобы прояснить свой вопрос. Моя цель — полностью скрыть имена PDF-файлов и показывать только папку, в которой они находятся, в URL.

Ответ №2:

Я нашел решение своей проблемы:

Я объясню это на этом примере: файл «one.pdf» находится в «example.com/subfolder /» (Полный URL-адрес для обычной загрузки PDF-файла «example.com/subfolder/one.pdf )

Чтобы изменить этот URL-адрес загрузки на «example.com/subfolder/one вы должны создать файл «one.html » в той же папке со следующим содержимым:

 <!DOCTYPE html>

<head>
  <meta http-equiv="refresh" content="0; URL=https://www.example.com/subfolder/one.pdf">
</head>
<!--The following lines aren't necessary for the download and are only there if the automatic download doesn't work-->
<body>
  <p>If the download doesn't start automatically: <a href="https://www.example.com/subfolder/one.pdf" >please click here</a>.</p>
  <p>Back to the homepage: <a href="https://www.example.com" >www.example.com</a></p>
</body>

</html>
  

Вы должны создать HTML-файл для каждого файла pdf.
PDF-файлы не обязательно должны находиться в той же папке, что и файлы html.
Имена файлов html и pdf не обязательно должны совпадать. Но имя папки url «example.com/subfolder/one » должен совпадать с именем HTML-файла (one.html )
Вы должны сделать это для каждого файла