У меня есть следующий файл конфигурации на моем sites-available
<VirtualHost *:80>
ServerName my.domain
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName my.domain
DocumentRoot /var/www/html
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
SSLEngine on
SSLCertificateFile /var/www/certs/certificate.pem
SSLCertificateKeyFile /var/www/certs/private.key
SSLCertificateChainFile /var/www/certs/ca_bundle.pem
<Directory /var/www/html>
Options -Indexes
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/nav>
DirectoryIndex nav.exe
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
И когда я перехожу на https: // my. domain / nav , я ожидаю, что он загрузит файл как nav.exe
. Но вместо этого он загружает его как «загрузка».
Как я могу установить собственное имя для этой загрузки?
Не уверен, что это сработает, так как я не знаком с Apache. Но быстрый google и, возможно, что-то подобное сработает:
Сначала включите модуль apache mod_headers . Смотрите здесь о том, как это сделать.
Затем установите ваш блок каталогов на сайтах, включенных в:
<Directory /var/www/html/nav>
DirectoryIndex nav.exe
AllowOverride All
Require all granted
SetEnvIf Request_URI "^.*/([^/]*)$" FILENAME=$1
Header set "Content-disposition" "attachment; filename=%{FILENAME}e"
UnsetEnv FILENAME
</Directory>
e в конце {FILENAME} видимо означает содержимое окружения FILENAME. Так что не оставляйте это без внимания. Если это сработает, то я не уверен, получится ли в результате файл, который будет называться nav.exe
или nav
.
Это адаптированный образец ссылки, которую я вам послал. Попробуйте и посмотрите.