0

この問題について助けてほしい

このコマンドはうまく機能しません

この名前で私のウェブサイトに新しいフォルダーがあります

「テキストPHP」

そして私はこのコードを.htaccessに入れました

RewriteRule ^(.*) /home/myhome/public_html/$1.php [L,T=text/plain]

誰でもそのフォルダーに移動して、php ファイルから任意のソースを読み取ることができるようにしたい

そしてこれはうまくいきません

H=text/plain を試してみます

エラー500が発生しました

また、php_value エンジンをオフにしてみます php_value エンジンをオフにします

動作していません:(

他のトリックはありますか

そして、私の英語がとても下手で申し訳ありません:p

助けてくれてありがとう

4

2 に答える 2

0

書き換えルールでファイルへのフル パスを指定しません。指定するのは、新しい絶対 URL または Web ルートに対する URI です。したがって、任意の URI を同じ名前の PHP ファイルに移動させたい場合は、次のようにします。

RewriteEngine On
RewriteRule ^(.*) /$1.php [L]

ここで指定する必要はありません/home/myhome/public_html

これは基本的な例ですが、通常、これはルールが広すぎるため、Web ルートから画像やその他の実際のファイルを提供できなくなるためです (それらはすべて.php、.が実際に必要な場合、通常は次のように表示されます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$1.php [L]

このルールは、URI が実際のファイル名またはディレクトリと一致しない場合に適用されます。したがって、 へのリクエスト/some_file.phpは にリダイレクトされません/some_file.php.php

于 2013-02-19T01:40:35.877 に答える
0

ファイルのソースを表示するようにウェブサーバーを設定でき*.phpsます (シンボリックリンクの作成など)。

AddType application/x-httpd-php-source .phps

または、そのディレクトリの PHP 処理を完全に無効にするには、次を使用します。

RemoveHandler .php 
RemoveType .php

代わりにまたは追加で:

php_flag engine off

一部のセットアップ (cgi / fastcgi) では:

Options -ExecCGI

mod_rewrite を使用したい場合は、readfile()(およびセキュリティのためのいくつかの basename() フィルタリング) を介してそれらを表示するためのラッパー スクリプトを作成し、次のように適用します。

RewriteRule ^(.+\.php)$ showsrc.php?file=$1
于 2013-02-19T01:40:43.380 に答える