我设置了我的第一个Nginx站点,重要的重写都完成了。 他们必须是手动的,没有规则可能会处理它,所以我有这样的规则来处理可能被索引或书签的旧URL:
rewrite ^/html/Air_III.html /designers-elements-air permanent;
还有一些奇怪的文件,似乎得到stream量,在部分网站,我们还没有得到,所以我只是把它们复制过来。 其中大部分都是从旧的.html重新命名为.php,并且在其他方面不变,但是可能还有一些仍然是.html。
我正在寻找一个规则来处理任何.html文件的请求的情况下,在任何目录,实际上不匹配当前文件的名称,并将重写到.php文件,如果它存在。
在“Apache说”这将是一个redirect permanent而不是重写。 我宁愿不跟踪所有这些,手工做!
你需要一个if语句来检查文件的存在并重写。
location ~ \.html$ { if (!-f $request_filename) { rewrite ^(.*)\.html$ $1.php permanent; } }