2012-03-13 17 views
0

私はrewriteRuleで発生したURLの問題について助けが必要です。次は何私はそれを行うために必要URLパスのrewriteRuleが正しく動作しない

:example.com/en/page/page/

現時点では以下の罰金に動作します:example.com/en/page/

しかし、一度"example.com/en/page/page/"のようになります。実際にページがサーバーファイルにある場合でも、404ページのエラーが見つかりません。

ここでの手がかりは、URLの/ en /部分(多言語システム)に変数を使用していることです。このタグを使用すると、それをどのように動作させるかわかりません。

現時点では、私の.htaccessファイルに次のrewriteRuleがあります。

RewriteRule ^([^/]*)/([^/]*)/?$ index.php?lang=$1&uri=$2 [L] 

何が問題なのでしょうか?

敬具、あなたが二/の背後に何が含まれていません
PureDarkness

+0

Q: '/ en/page /'は 'index.php?lang = en&uri = page'として提供されます。 '/ en/page/page /'はどのようにサービスされるはずですか?私が理解しているように、 'index.php?lang = en&uri = page/page'でしょうか? – LazyOne

+0

インデックスファイルに含まれているPHPスクリプトは、URLリンク先のフォルダに基づいてインデックスファイルを取得しますが、URLが '/ en/page /'のように表示されている場合、 '/ ja/page/page /'各フォルダは異なるインデックスファイルを含んでいます。 URLに '/ en /'を入れる前に、以下が必要でした: 'RewriteRule ^(。*)/?$ index.php?uri = $ 1 [L、QSA]' – PureDarkness

答えて

2

。あなたは試みることができる:

RewriteRule ^([^/]*)/(.*)$ index.php?lang=$1&uri=$2 [L] 

そして、あなたはまた、パラメータを取得する必要がある場合には、[QSA]を追加することができます。

+0

手伝い!本当に感謝しています! :-) – PureDarkness

関連する問題