Rewrite all requests to index.php with nginx

后端 未结 8 2259
陌清茗
陌清茗 2020-11-28 05:17

In my apache configuration I have the following simple rewrite rule which

  1. unless file exists will rewrite to index.php
  2. on the urls you never see the f
8条回答
  •  心在旅途
    2020-11-28 05:32

    Here is what worked for me to solve part 1 of this question:

        location / {
                rewrite ^([^.]*[^/])$ $1/ permanent;
                try_files $uri $uri/ /index.php =404;
                include fastcgi_params;
                fastcgi_pass php5-fpm-sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_intercept_errors on;
        }
    

    rewrite ^([^.]*[^/])$ $1/ permanent; rewrites non-file addresses (addresses without file extensions) to have a "/" at the end. I did this because I was running into "Access denied." message when I tried to access the folder without it.

    try_files $uri $uri/ /index.php =404; is borrowed from SanjuD's answer, but with an extra 404 reroute if the location still isn't found.

    fastcgi_index index.php; was the final piece of the puzzle that I was missing. The folder didn't reroute to the index.php without this line.

提交回复
热议问题