2016-08-03 12 views
0

ich habe Pfade inklusive ich .htaccessist meine .htaccess regex

erste Pfadstruktur ist /path/one/random.html

Sekunden Pfadstruktur ist/path/zwei/mit umleiten müssen random.html

mein Regex versucht, auf/path/one/gefolgt von allem mit enden mit .html und/path/two/gefolgt von allem mit .html. Das Problem ist, meine erste Regel wird für Pfad/two/foo.html ausgelöst.

Ich nehme an, meine erste Regel ist zu inklusiv, aber ich bin mir nicht sicher, wo ich mich anpassen soll.

RewriteRule ^path/one/(^[^.]+$)|(\.html?$)$ http://domain.com/path/new_path_one [R=301,L] 

RewriteRule ^path/two/(^[^.]+$)|(\.html?$)$ http://domain.com/path/new_path_two [R=301,L] 

fixiert: Ich

path/one/(\.html?$)$ http://domain.com/path/new_path_one [R=301,L] 
+0

sollte es sein 'RewriteRule^Pfad/ein /.+ \. Html? $' – anubhava

Antwort

0

Sie regex änderte sich dies versuchen könnte, so müssen Sie nicht über 2 Regeln:

RewriteRule ^path/(one|two)/(?:.+)\.html?$ /path/new_path_$1 [L] 

Erklärung der Regex:

path/(one|two)/(?:.+)\.html? 

Regular expression visualization

Debuggex Demo