没有php后缀且同名目录的url

时间:2015-10-08 12:40:57

标签: php redirect nginx

我想将我们的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;
  }

有什么想法吗?

0 个答案:

没有答案