.htaccess Nginx使用重写规则重写子目录下不存在的文件
Nginx在同一位置下从.php重写为.php 我正在尝试将一个包含大量.htaccess文件(93个)的站点从Apache移动到Nginx。 有800多条重写规则需要转换。为了优化性能,我决定 将规则放置在单独的嵌套位置块(总共61个块)下 但是我在重写一些规则时遇到了问题 要求:.htaccess Nginx使用重写规则重写子目录下不存在的文件,.htaccess,nginx,rewrite,.htaccess,Nginx,Rewrite,Nginx在同一位置下从.php重写为.php 我正在尝试将一个包含大量.htaccess文件(93个)的站点从Apache移动到Nginx。 有800多条重写规则需要转换。为了优化性能,我决定 将规则放置在单独的嵌套位置块(总共61个块)下 但是我在重写一些规则时遇到了问题 要求: /test/abc/pics/应重定向到/test/abc/wallpaps/ /如果文件存在,则应直接提供test/abc/pics/800/a.jpg。如果不存在,, 然后应该将请求重写为/test/abc/p
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
问题:
~
前缀,则不会执行回退规则。
对/test/abc/pics/800/a.jpg
的请求将被重写为/test/abc/pics/pic.php
,该请求将再次与
相同的位置配置。因此,文件不会执行,而是按原样下载include php-fpm.conf”所有位置块(命名位置除外)的“代码>”。但这导致了一切
/test/abc/pics/
下的请求(包括现有的.jpg
文件)传递给PHP-FPM。这会导致访问被拒绝错误,
因为security.limit\u extensions
只允许.php
扩展
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;