2012-01-02 20 views
0

私はpretty urlを実装しようとしています。 私はすべてPHPで書いたもので、正しく動作します。私はindex.phpによるすべてのリクエストを処理する必要があります。絶対URLをモードリライトでリダイレクトする

たとえば、website.com/page/search/question/dogsはインデックスで処理されます。 しかし、website.com/templates/header.tplがファイルのダウンロードを開始します。

私はindex.phpによって別のファイルへのアドレスさえ扱いたいと思っています。

.htaccessにあります。

RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^.*$ ./index.php 

どのようにindex.phpによってファイルに絶対URLを渡すことができますか? URLがディレクトリやファイル名であってはならないことを条件rmove

+0

ヘンリーはどういう意味ですか?あなたの質問に「リダイレクト」という言葉が何を意味するのか説明できますか? – hakre

+0

私はユーザータイプのアドレス "example.com/hello.php"を意味しますが、サーバーはhello.phpではなくindex.phpを呼び出します(また、.php?id =/page/viewの後のパラメータはindex.phpでも利用できます) – Jindra

+0

Where '?id'パラメータの値はどこから来るべきですか? – hakre

答えて

0

あなたはファイルのURLを書き換えたい場合すでにサーバー上に存在する場合は、!-F(ファイルではない)と(ディレクトリではない)のチェックを削除する必要があります。それ以外の場合は、あなたのRewriteRuleの間違ったRewriteCondのアイオンを設定しました。

ただし、注意が1つあります。index.php自体を書き換えたくない場合は、無限のリライトループが発生します。

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !=^./index\.php$ 
RewriteRule ^.*$ ./index.php [L] 

RewriteCond Directive­Docsも参照してください。

0

:!! するRewriteCondの%{SCRIPT_FILENAME}
するRewriteCondの%{SCRIPT_FILENAMEを} -d -f

+0

これまでに試したことがありますが、エラー500が発生します。内部サーバーエラー – Jindra

+0

以下のコメントを参照してください –

関連する問題