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