平常编写PHP脚本,扩展名存储为.php即可。php解释器就知道这个文件是需要它来解释执行的。有些时候,比较特殊的场景,也许我们想伪装一下我们的文件,让外人看起来这个页面不是由php生成的。比如我们把文件伪装成.html。这样如何做到呢?
Apache:
<IfModule fcgid_module> Include conf/extra/httpd-fcgid.conf FcgidInitialEnv PHPRC "D:/phpStudy/php55n" AddHandler fcgid-script .php .html FcgidWrapper "D:/phpStudy/php55n/php-cgi.exe" .php FcgidWrapper "D:/phpStudy/php55n/php-cgi.exe" .html </IfModule>
如代码中所见,仿照原来的设置,增加.html的即可。
Nginx:
在虚拟主机配置中复制一份php的配置,改写如下:
location ~ [^/]\.html(/|$){ try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-72.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }
or
location ~ [^/]\.(php|html)(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-72.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }
php-fpm.conf也需要修改如下:
[www] ... security.limit_extensions = .php .php3 .php4 .php5 .php7 .html
如果没有这个配置,在[www]段下增加新的即可。
别忘了重启服务。