我想在这个问题上提供帮助
这个命令不好用你能帮我吗
我的网站上有一个名为
的新文件夹“TextPHP”
我把这段代码放在.htaccess
中RewriteRule ^(。*)/ home / myhome / public_html / $ 1.php [L,T = text / plain]
我希望任何人去那个文件夹都可以从我的php文件中读取任何来源
这不起作用
我尝试H = text / plain
我得到错误500
我也试试 php_value引擎关闭 php_value引擎关闭
不工作:(
还有其他任何技巧
抱歉我的英语非常糟糕:p
感谢您的帮助
答案 0 :(得分:0)
您没有在重写规则中指定文件的完整路径,您指定的是新的绝对URL或相对于Web根目录的URI。因此,如果你想让任何URI转到同名的PHP文件,你可以这样做:
RewriteEngine On
RewriteRule ^(.*) /$1.php [L]
无需在此指定/home/myhome/public_html
。
这是一个基本的例子,但通常情况下,这是一个太宽泛的规则,因为它会阻止您从Web根目录提供图像或其他实际文件(它们都会以{{1}结尾因此,假设这实际上是你想要的,你通常会看到类似的东西:
.php
此规则适用于URI与实际文件名或目录不匹配的情况。因此,RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$1.php [L]
的请求不会重定向到/some_file.php
。
答案 1 :(得分: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