我想将不存在的子目录的所有请求以及不存在的子目录中不存在的文件和文件redirect回根页面。
Ex. sampledomain.com/jahsdjksf/sfhsafh.php or sampledomain.com/jahsdjksf/sdfsndf/sfhsafh.php or sampledomain.com/sfhsafh.php
全部返回到sampledomain.com
目前我有以下添加到我的规则
root /home/nginx/domains/randwebsite.com/public/; index index.php;
和
try_files $uri $uri/ /index.php;
但问题是,当我尝试任何随机不存在的子目录,它加载在该url下的主页面和它的破碎,因为CSS等使用该url与不存在的子目录,但只适用于不存在的文件与完美没有子目录添加
ex. sampledomain.com/sdlfsdlfsf.php
如果你想强制redirect,你可以使用一个命名的位置。 沿着这些线路的东西可能适合你:
root /home/nginx/domains/randwebsite.com/public; index index.php; location / { try_files $uri $uri/ @redirect; } location ~ \.php$ { try_files $uri @redirect; ... } location @redirect { return 301 /index.php; }
请参阅此文档了解更多