我不确定这是可能的,但是我想在.htaccess文件中写一个重写规则(如果需要,还有其他的指令),这样对于那个文件夹中的每一个url,任何以.txt结尾的URL都会被重写以.php结尾的相同名字,但是另外,在这种情况下,php文件不被执行,但是其内容(源代码)被服务。
也就是说,“我的文件夹”是我想要应用的文件夹:
http://www.mydomain.com/myfolder/somescript.php =>像往常一样运行somescript.php http://www.mydomain.com/myfolder/somescript.txt =>将返回somescript.php的源代码没有运行它
有两种方法来完成这一点。
将每个.php文件符号链接到.txt并在Apache中添加一个指令,如下所示:
AddType application/x-httpd-php-source .txt
在<VirtualHost> , <Location>或<Directory>块中。
把它放在一个<Location >中可能是最好的,因为.txt文件不是全局关联的PHP源代码。
使用重写规则,如:
RewriteRule ^(/myfolder/.+)\.txt $1.php [H=application/x-httpd-php-source]
(来源: http : //httpd.apache.org/docs/2.2/rewrite/flags.html#flag_h – 略有修改)
使用此选项,确保在.txt目录中不存在其他文件,否则将使用x-httpd-php-source内容types进行发送。 如果是这样的话,你可能需要调整正则expression式。