我想将我们的Nginx服务器配置为没有后缀的服务器PHP文件。问题是我们的目录与文件的名称相同,我不想将index.php下的文件移到同一目录中。
这是文件结构
/www-root/index.php
/www-root/xyz.php
/www-root/xyz/amit.php
我设法删除了php后缀,我想访问以下两个网址:
www.example.com/xyz
www.example.com/xyz/amit.php
我不想将xyz.php移动到/xyz/index.php,因为这样会在URL的后缀处出现正斜杠(这是我想避免的)。
我可以访问www.example.com/xyz.php但是当我尝试访问www.example.com/xyz时,它会重定向到www.example.com/xyz/并在404上失败。
以下是我的Nginx配置文件:
location / {
try_files $uri $uri.html $uri/ @extensionless-php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
有什么想法吗?