我们管理部门内的网站存在问题。该网站在主页上运行,但是当我们尝试在该网站内输入链接时,出现404错误。 该网站运行在具有Web服务apache和nginx(apache之前为Nginx)的VPS上。
单击网站内的链接时,我们在proxy_error_log中看到以下错误:
2019/11/20 14:01:12 [error] 8488#0: *1507 "/var/www/vhosts/example.com/example2/index.php" is not found (2: No such file or directory), client: 92.111.x.x, server: example.com, request: "GET /example2/ HTTP/2.0", host: "www.example.com", referrer: "https://www.example.com"
这是一个wordpress网站。加载网站不需要文件index.php。我们只需要一个永久链接部分(examle.com/example2/)
我们尝试了以下解决方案:
https://www.digitalocean.com/community/questions/wordpress-and-nginx-404-errors-all-but-home-page
但是他们都不起作用。还有什么我们可以尝试的。
编辑
我们通过安装以下扩展程序解决了该问题:
htaccess to nginx
。将默认的wordpress .htaccess转换为以下代码:
#ignored: "-" thing used or unknown variable in regex/rew
if (!-f $request_filename){
set $rule_1 1$rule_1;
}
if (!-d $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
rewrite /. /index.php last;
}