2013-04-06 13 views
5

Ich habe etwa 300 umleitet in folgendem FormatCase-unempfindliche htaccess 301

Redirect 301 /post/My-Blog-Post.aspx https://www.example.com/blog/a-new-post/

Das funktioniert gut, außer die Umleitungen Groß- und Kleinschreibung und /post/my-blog-post.aspx gehe umleiten nicht.

Es gibt kein Muster für die alte URL zur neuen URL, daher müsste dies wahrscheinlich eine Markierung für jede Weiterleitung sein.

Wie kann ich die URL umleiten, egal in welchem ​​Fall?

+1

Warum dies als Off-Thema geschlossen? – developdaly

+0

Da ein * .htaccess * -Thema ohne REGEX ist ein off-Thema und gehört zu: http://serverfault.com – 5ervant

Antwort

7

Denken Sie nicht, es gibt eine Möglichkeit, die Redirect Direktive (Teil von mod_alias) Groß-und Kleinschreibung zu beachten, aber es gibt ein mod_rewrite Flag, das Sie verwenden können. Sie werden alle Ihre Umleitungen von diesem ändern müssen:

Redirect 301 /post/My-Blog-Post.aspx https://www.example.com/blog/a-new-post/ 

zu:

RewriteRule ^/?post/My-Blog-Post.aspx$ https://www.example.com/blog/a-new-post/ [L,R=301,NC] 

Notiere die NC Flagge „keinen Fall“ bedeutet. Dies entspricht jedem URI, der wie /post/my-blog-post.aspx aussieht, ignoriert Groß- und Kleinschreibung und leitet ihn an https://www.example.com/blog/a-new-post/ um.

+0

Kein Würfel - das gleiche Ergebnis. – developdaly

+0

Das Hinzufügen des NC-Flags funktionierte auf ein paar verschiedenen Seiten für mich, ein Server mit Apache 2.2 und ein weiterer mit 2.4. Überprüfen Sie die Dokumentation von Apache, die mit Jon Lins Antwort übereinstimmt: https://httpd.apache.org/docs/current/rewrite/flags.html#flag_nc – staypuftman

1

Wenn Sie jedoch wollen "My-Blog-Post" eine Variable "a-new-post", ich meine machen, wenn Sie wollen /post/My-Blog-Post.aspx umgeleitet in /Blog/a-new-post/ entweder /post/diese ASPX- in /Blog/diese/ oder /post/dass ASPX- in /werden Blog/dass/ oder sogar /post/etwas ASPX- in /Blog/etwas/ Sie diesen Code in die Sie versuchen können .htaccess versteckte Datei zu verwenden:

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^post/([a-z0-9-_]+).aspx$ /blog/$1/ [R=301,NC]