2016-07-29 6 views
0

Ich brauche country.cfm zu ändern? Country = xxx xxx.html und hotel.cfm? Hotel = yyyRewriteRule erste Rewrite funktioniert, aber nicht die nächsten

yyy.html ich folgend in habe Meine .htacess Datei:

Das Problem ist, dass Land funktioniert, aber nicht Hotel. Wenn ich das Hotelrewriterle vor das Land bringe dann funktioniert das Hotel aber nicht das Land.

Wenn ich zur hotel.cfm gehe? Hotel = yyy dann werde ich nach country.cfm umgeleitet und umgekehrt, wenn ich die rewriterules umwechsle.

Antwort

2

Weil Sie genau die gleiche Umschreibungsregel verwenden. Wie sollte der Motor wissen, dass XXX.html ein Land ist und YYY.html ein Hotel ist, wenn die Regel beiden entspricht? Da Sie das Flag L haben, wird das nächste nicht verarbeitet.

Sie müssen einige Unterschiede in den URLs haben, zum Beispiel hotel-XXX.html und passen Sie dann zu. Dann wird dein Neuschreiben funktionieren.

Zum Beispiel:

# change all the country pages 
RewriteRule ^country-([^/]*)\.html$ /country.cfm?country=$1 [L] 

# change all the hotel pages 
RewriteRule ^hotel-([^/]*)\.html$ /hotel.cfm?hotel=$1 [L] 

für URLs wie site.tld/hotel-name.html, oder vielleicht

# change all the country pages 
RewriteRule ^country/([^/]*)\.html$ /country.cfm?country=$1 [L] 

# change all the hotel pages 
RewriteRule ^hotel/([^/]*)\.html$ /hotel.cfm?hotel=$1 [L] 

für URLs wie site.com/hotel/name.html

Jeder Unterschied in den Match Teile ausreichen, auch wenn es eine einzige ist Brief am Anfang.

+0

Danke Sami. Bitte hilf mir hier. Kannst du mir zeigen, wie ich das ändern kann? Ich fürchte, ich verstehe es nicht. Wie sollte die Schreibmaschine aussehen? –

+0

@MarthinusStrydom Einige Beispiele hinzugefügt –

+0

Ok, hab es. Vielen Dank. –