Apache - Rediriger 301 pdf en pdf avec des espaces (fichier binaire)
-
19-09-2019 - |
Question
Ce que je veux:
Pour 301 redirect /file_new.pdf à / Fichier new.pdf (% 20 aka espace entre fichier et nouveau)
Je suis conscient du fait que:
- Je peux compter sur RewriteRule 301 qui utilise mod_rewrite, en utilisant une solution de ce fil: @ mod_rewrite avec des espaces dans les urls
- Je peux renommer le fichier pour inclure pas les espaces et les remplacer par des tirets / underscores
Cependant, je suis personnellement curieux de savoir comment on pourrait le faire. Voici ce que j'ai à ce jour:
Redirect 301 /file_new.pdf http://sitename.com/file\ new.pdf
L'analyseur de fichier de configuration renvoie une erreur quand je l'invoque configtest:
Redirect prend deux ou trois arguments, un statut en option, documenter ensuite être redirigé et URL de destination
Modifier Apparemment, le mod_rewrite, ni Rediriger 301 méthodes travaillent pour moi, peut-être parce que, pour une raison quelconque, ils ne sont pas parce que le fichier postulent existe réellement dans cet endroit.
<VirtualHost *:80>
DocumentRoot /www/sitename_com
ServerName site.local
Options -MultiViews
RewriteEngine on
Redirect 301 /pdf/file_new.pdf http://site.local/pdf/file%20new.pdf
RewriteRule ^/pdf/file_new.pdf http://site.local/pdf/file\ new.pdf
RewriteLog "/www/rewrite.log"
</VirtualHost>
Dans rewrite.log, il tente de faire correspondre le modèle à chaque demande uri / http respectifs .. Je pense que quelque chose est de prendre le contrôle avant qu'il ne soit même au mod_alias / stuff mod_rewrite.
Donc, pour résumer, il va directement à file_new.pdf dans le navigateur et ne 301. Je suis positif que alias
et rewrite
sont activés. Ma version est apache 2.2.
La solution
Redirect
est en fait une partie de mod_alias, non mod_rewrite. Je suis heureux que le 20% a travaillé et vous pouvez également utiliser des guillemets pour dire apache que le chemin qui inclut l'espace est l'URL de redirection et non pas deux éléments distincts:
Redirect 301 /pdf/file_new.pdf "http://site.local/pdf/file new.pdf"