2016-07-29 7 views
0

私はcountry.cfmを変更する必要があるのですか?国= xxxは とhotel.cfmをxxx.htmlする?のRewriteRule最初のリライトは作業ではなく、次の1

をyyy.htmlする= YYYホテルIは、以下のしています私の.htacessファイル:

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

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

問題は国が働いていますが、ホテルではありません。私がホテルの書き換えを国の前に置くと、ホテルは機能しますが、国はありません。

hotel.cfm?hotel = yyyに行くと、書き換えを交換するとcountry.cfmにリダイレクトされ、visa versaにリダイレクトされます。

答えて

2

まったく同じ書き換えルールを使用しているためです。ルールが両方に一致すると、XXX.htmlが国であり、YYY.htmlがホテルであることをエンジンがどのように知るべきですか? Lフラグがあるので、次のフラグは処理されません。

URLには、たとえばhotel-XXX.htmlのような違いがあり、それに一致する必要があります。その後、あなたの書き換えが機能します。例えば

site.tld/hotel-name.html、または多分site.com/hotel/name.html

のようなURLの

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

マッチ部分の違いのようなURLの

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

はそれが単一だ場合でも、十分でしょう最初の手紙。

+0

ありがとうサミ。ここで私を助けてください。これを変更する方法を教えてもらえますか?私は理解できません。書き換えの見た目はどうでしょうか? –

+0

@MarthinusStrydomいくつかの例を追加しました –

+0

それを得ました。ありがとう。 –

関連する問題