Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过重写规则读取源代码_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 如何通过重写规则读取源代码

Php 如何通过重写规则读取源代码,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,在这个问题上我需要帮助 这个命令不行,你能帮我吗 我的网站上有一个新文件夹,名称为 “TextPHP” 我把这个代码放进了.htaccess 重写规则^(.*)/home/myhome/public_html/$1.php[L,T=text/plain] 我想任何一个到那个文件夹可以读取任何源从我的php文件 这不管用 我尝试H=文本/普通 我得到了错误500 我也尝试 php_值引擎关闭 php_值引擎关闭 不工作:( 还有别的把戏吗 对不起,我的英语太差了 感谢您的帮助您在重写规则中没有指

在这个问题上我需要帮助

这个命令不行,你能帮我吗

我的网站上有一个新文件夹,名称为

“TextPHP”

我把这个代码放进了.htaccess

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

我想任何一个到那个文件夹可以读取任何源从我的php文件

这不管用

我尝试H=文本/普通

我得到了错误500

我也尝试 php_值引擎关闭 php_值引擎关闭

不工作:(

还有别的把戏吗

对不起,我的英语太差了


感谢您的帮助

您在重写规则中没有指定文件的完整路径,您指定的是一个新的绝对URL或相对于web根的URI。因此,如果您希望将任何URI转到同名的PHP文件,请按以下方法操作:

RewriteEngine On
RewriteRule ^(.*) /$1.php [L]
无需在此处指定
/home/myhome/public\u html

但是,这是一个基本示例,通常情况下,这是一个过于宽泛的规则,因为它会阻止您从web根目录提供图像或其他实际文件(它们最终都会附加
.php
。因此,假设这是您真正想要的,您通常会看到如下内容:

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

此规则适用于URI与实际文件名或目录不匹配的情况。因此,对
/some_file.php
的请求不会重定向到
/some_file.php.php
您可以配置Web服务器以显示
*.phps
文件的源代码(例如,制作符号链接),其中包括:

或者,要完全禁用该目录的PHP处理,请使用:

RemoveHandler .php 
RemoveType .php
替代地或附加地:

php_flag engine off
在某些设置(cgi/fastcgi)上,甚至:

如果您想使用mod_rewrite,请编写一个包装器脚本,通过
readfile()
(以及一些出于安全考虑的basename()过滤)来显示它们,并像这样应用它:

RewriteRule ^(.+\.php)$ showsrc.php?file=$1

查看我的网站,我在这个网站上有400多个php文件,我希望每个人都能进入阅读源代码,然后你需要所说的包装脚本,请参见示例。
basename()
这件事非常重要!也不起作用:(我的网站example.com上有许多php文件,如果访问example.com/source/FileName.php,请将example.com/FileName.php的source读取为文本文件
Options -ExecCGI
RewriteRule ^(.+\.php)$ showsrc.php?file=$1