2016-10-15 4 views
0

の置換文字列から部品を取り込みありません。はなぜ私のRewriteRuleはこのURLを考える代わりに、URI

http://test.com/app/myfile.php?product/1

と私はオンラインのhtaccessテスターを使用しています。しかし私のローカル開発環境では、私はこれを得る:

要求されたURL /app/app.phpは、このサーバ上に見つかりませんでした。

なぜですか?これは正しいことができません、そうですか?私はそれが私のセットアップ(ドッカーのコンテナとdinghy - http - プロキシ)によって引き起こされたバグだと思うが、私はこの書き直しに新しいので、わからない。問題は、正規表現がパス文字列のどこにでもマッチすることができるということで、/はオプションであるため、結果はあなたが望むものになることはほとんどありません

RewriteRule ^([^/.]+)/?(.*) app/$1.php?$2 

答えて

0

はこれを試してみてください。

また、適用する複数の書き換えルールがないことを確認してください。これらのルールはすべてデフォルトで処理されます。

+0

ありがとうございますが、これは私には同じ結果をもたらします。 – sanderdev

+0

@sanderdev私の編集を参照してください - 複数のルールがある場合、別のルールの結果を書き換えるかもしれません。 – Lucero

+0

私が得意でないのは、これがURLで使われていないと$ 1に "app"が含まれていることです。一致する場合は、 "myfile/product/1"という文字列の内容を含める必要がありますか?しかし、今私は本当に理解していない置換文字列から何かを含んでいます。 – sanderdev

関連する問題