2010-11-29 10 views
0

例: www.example.com/about.phpmod_rewriteでphpファイルへのアクセスを無視するには?

拡張子が.phpのファイルを表示したくない場合は、代わりに404ページを表示してください。

私はルートフォルダ内のファイルを持っている: content.php footer.php など about.php ... は、今私は、アドレスバーに入力することで、これらのファイルに到達することができます。私はこれを制限したい。

どうすればいいですか? mod_rewriteのオーバーヘッドと複雑さを回避

+0

下記の記事を参照してください。 Modリライトはこれほど簡単なものでは必要ありません(それは最善の解決策でもありません)。 –

答えて

0
RewriteRule \.php$ /path/to/page/404.html 
6

より良いアプローチは、単にルートフォルダ内のURLが到達しないファイルを置かないことです。あなたはそれらをどこかに置き、そこからそれらを含めることができます。シンプルで(より)安全ですが、なんらかの理由でこれは常識ではないようです。

構成例は、

project/ 
project/root 
project/lib 

あなたのパブリックコード(例えばindex.phpを)プロジェクト/ルートに住んでいるでしょう、そしてそれは、ウェブサイトのルートになるかもしれません。あなたのインクルードされたコードはproject/libにあり、require、includeなどを使って簡単にインクルードできます。

いいえmod_rewrite。非常に簡単です。

+1

ええ、私はまだこのようなファイルにアクセスできます。 – Maxxon

+0

ああ、mod_rewriteを使用すると、URL経由でファイルにアクセスすることはできません。それがポイントです。いずれの方法でも、エディタを使用してファイルを編集することができます。これは、エディタにアクセスする必要がある唯一の方法です。 –

+0

私はEl Yoboのソリューションを自分のサイトに実装しました。私はすべてのインクルードを '/ pages'ディレクトリに置き、' RewriteRule^pages /(.*)$/404 [R = 301、L] 'を追加してインクルードに直接アクセスしようとしている人を追い出しました。 – Paul

関連する問題