Frage

Was ich will:

  

Um 301-Weiterleitung /file_new.pdf zu   / Datei new.pdf (% 20 aka Raum zwischen   Datei und neu)

Ich bin mir bewusst, dass:

  • kann ich auf RewriteRule 301 verlassen, die mod_rewrite verwendet, um eine Lösung aus diesem Thread mit: @ mod_rewrite mit Leerzeichen im Urls
  • kann ich die Datei umbenennen, um keine Leerzeichen enthalten und ersetzen sie durch Bindestriche / Unterstrichen

Allerdings bin ich persönlich neugierig, wie man dies tun würde. Hier ist, was ich bisher:

Redirect 301 /file_new.pdf http://sitename.com/file\ new.pdf

Der Conf-Datei-Parser wirft einen Fehler, wenn Ich rufe die configtest:

  

Redirect zwei oder drei Argumente übernimmt,   ein optionaler Status, dann dokumentieren   umgeleitet werden und die Ziel-URL

Edit: Anscheinend ist die mod_rewrite noch Redirect 301 Methoden für mich arbeiten, möglicherweise, weil aus irgendeinem Grunde sind sie nicht anwenden, da die Datei an dieser Stelle tatsächlich vorhanden ist.

<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>

In rewrite.log, es versucht, das Muster zu jedem entsprechenden uri entsprechen / HTTP-Anfrage .. Ich denke, etwas Kontrolle nimmt, bevor es kommt noch zu dem mod_alias / mod_rewrite Sachen.

Also um es zusammenzufassen, es direkt an Datei_neu.pdf im Browser geht und nicht 301. Ich bin sicher, dass alias und rewrite aktiviert sind. Meine Apache-Version ist 2.2.

War es hilfreich?

Lösung

die Redirect tatsächlich Teil mod_alias ist, mod_rewrite nicht. ich bin das% 20 gerne gearbeitet und Sie können auch Anführungszeichen verwenden Apache zu sagen, dass der Weg, den Raum enthält die URL ist und nicht zwei separate Elemente zu umleiten:

Redirect 301 /pdf/file_new.pdf "http://site.local/pdf/file new.pdf"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top