2012-04-13 11 views
0

私は次のコードを持っている:ユーザーフレンドリーなURLの.htaccess

RewriteRule ^fishing/([^/]*)/([^/]*) fishery.php?url=$2&region=$1 [L] 
RewriteRule ^fishing/([^/]*) region.php?region=$1 [L]  

私はdomain.com/fishing/fifeに入力したときに、それが適切なregion.phpファイルを表示します。

しかし、domain.com/fishing/fife/に/をつけて入力すると、代わりにfishery.phpページが読み込まれます。どうすればこれを防ぐことができますか?

釣り糸/ fife.phpの代わりに/ fishing/fifeとして読み込むと、第2にSEO目的に悪いですか?すべてのページの後にディレクトリではない?それが重要でなければ、私はそれがたくさん見ているように。私は、これはそれを行うべきだと思い、事前

答えて

2

ありがとう:

RewriteRule ^fishing/([^/]*)/([^/]+) fishery.php?url=$2&region=$1 [L] 
RewriteRule ^fishing/([^/]*)/?$ region.php?region=$1 [L] 

はまた、代わりにページの「ディレクトリ」のURLを持つと間違って何もない、Infactは私は、これは悪いことではない方が良いかもしれないと思いますSEOのために...

+0

ありがとうございました。これは完璧に機能しました。私は説明のためにあなたを困らせることができますか? 2番目の部分についてもアドバイスしていますか? –

+0

'+'は1以上の意味( '* 'は0以上)を意味するので、' * 'を' + '(最初のパターン)に変更しました。 2番目のスラッシュ。 2番目のパターンでは '/?'( '? 'は先行するcharの0か1を意味する)を置くので、最後に'/'があればマッチし、最後に' $ 'このケースでは本当に必要なわけではありませんが、予期しないパターンの競合を避けるために、URLの終わりがどこにあるのかを示すことは良い方法です。 – joshuahealy

+0

もう一度あなたの助けに感謝します。 –