.htaccess leitet beim Umschreiben von Daten nicht wie vorgesehen weiter

.htaccess leitet beim Umschreiben von Daten nicht wie vorgesehen weiter

Ich habe eine .htaccess-Datei, die nicht so funktioniert, wie ich es mir vorstelle. Ich habe eine WP-Site, bei der die Eigentümer beschlossen haben, den Basispfad für die Blogeinträge auf /blog/ zu verschieben, sodass alle Beiträge jetzt von Suchmaschinen als 404-Fehler angezeigt werden. Während ich mit den Weiterleitungen für die Beiträge gut zurechtgekommen bin, müssen auch die Datumskategorien wie „/2015/03“ umgeleitet werden. Ich habe eine Regel wie folgt erstellt:

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])
RewriteRule (.*) http://www.domain.com/blog/$1

das funktioniert gut aufhttp://htaccess.madewithlove.be/

www.domain.com/2009/05 sollte zu www.domain.com/blog/2009/05 wechseln.

Aber es tut nichts auf der Site. Ich habe eine Entwicklungsversion der Site, an der ich herumbasteln kann, sodass ich testen und Änderungen vornehmen kann, ohne die Live-Site zu beschädigen. Vollständiger mod_rewrite-Abschnitt:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])/
RewriteRule ^(.*) http://www.domain.com/blog/$1

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Irgendwelche Hinweise? Der Server ist Ubuntu mit Apache2.

Antwort1

„In .htaccessDateien“ ^entspricht dem Anfang dieses Unterverzeichnisses, Sie sollten es also nicht ^/in Mustern verwenden.

Außerdem 201[1-9]stimmt Ihr Muster nicht mit 2010 überein.

verwandte Informationen