2016-09-21 2 views
0

"index.php"の後に "path"を付けてリクエストをすべて自分のドメインにリダイレクトするか、 index.phpに書きますが、この場合はRewriteRule/RewriteCondがわかりません。Apache2 - "/index.php"の後に "path"/queryが指定されたときにリダイレクト

たとえば、www.example.com/index.php/test、www.example.com/index.php/test/hello.php、www.example.com/index.php/testにリダイレクトしたいとします。/admin/interfaceなどをwww.example.com(またはwww.example.com/index.php)に追加します。

他のファイルやディレクトリ(www.example.com/adminやwww.example.com/interface/admin.phpなど)をindex.phpにリダイレクトする必要はありません。 URLに "/index.php"の後に指定します。もちろん、www.example.com/index.phpやwww.example.comをリダイレクトループで終わるようにリダイレクトしたくない場合もあります。

これについて誰かが解決策(RewriteRule/RewriteCond)を知っていますか?

+0

は^ するRewriteRuleにこのhttp://stackoverflow.com/a/18406686/6374322 –

+0

'RewriteEngineを参照してください。+ $ /index.php [L]'これは、ルートディレクトリのindex.phpを –

+0

感謝するすべてのクエリをリダイレクトしますあなたはあなたの答えではありませんが、存在しないすべてのファイルやディレクトリをindex.php(RewriteCond%{"REQUEST_FILENAME}!-f"や "RewriteCond%{REQUEST_FILENAME"}!-d)にリダイレクトしたくないのです。カスタムエラー404ページがあります。私は** /index.phpの後ろに**与えられた "path"/queryを、パス/クエリに従わずにindex.phpにリダイレクトするだけで、パス/クエリや既存のパスやファイルがない一般に。 –

答えて

0

これは後にindex.phpを持っている唯一の要求にマッチプラススラッシュとは何でしょう:あなたは元の要求はので、私はここでそれを落としていて何かをしたい場合は

RewriteCond %{THE_REQUEST} /index.php/.*$ 
RewriteRule^index.php [R=302] 

あなたは指定されていませんでしたし、リダイレクトするだけです。 302が "見つかった"場合は、 "永久に移動"したい場合は301に置き換えてください。

+0

あなたの答えをありがとう、それは私が探しているものです。それは完璧に働いています。 –

関連する問題