我的旧服务器在htaccess文件中有这个:
< FilesMatch“^ resort $”> ForceType application / x-httpd-php < / FilesMatch>
我有一个度假的php文件(没有php扩展名)... 所以该文件是domain.com/resort/param1/param2
我正在努力为nginx做同等的工作......
我已尝试过这些项目,但都没有效果:
location = / resort / {
那么当这个url在浏览器中时,如何将php文件作为php执行: domain.com/resort/param1/param2.php
谢谢!
PS。我会喜欢一些页面/资源/教程,为那些不懂nginx的人解释“apache to nginx”:)
我去过nginx网站,但IMO,我需要知道的比我更了解或了解nginx网站的说法。
更新: 我认为这很接近,但仍然无效:(
这是网址:domain.com/resort/city/state.php
这是指令:
location ~ /resort/ {
rewrite ^/resort/(.*)/(.*) /resort/$1/$2 break;
}
答案 0 :(得分:0)
要执行没有.php
扩展名的文件,就好像它是一个PHP文件一样,您需要复制处理这些类型请求的location
块。
看起来像这样:
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
要使用位于/resort/param1/param2
的PHP文件处理URI /resort
,您可以使用以下内容:
location ~ ^/resort/ {
include fastcgi_params;
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME $document_root/resort;
}
请参阅this document了解location
语法。
答案 1 :(得分:0)
这对我有用:
location ^~ /resort/ {
try_files $uri $uri/ /resort.php; }