【问题标题】:Redirecting nginx to index.php将 nginx 重定向到 index.php
【发布时间】:2016-11-03 15:29:25
【问题描述】:

我在树莓派上安装了 nginx。在/etc/nginx/sites-available/default 中,我将server{} 替换为以下内容,我可以使用http://192.168.1.210/ 访问/var/www/html/index.php

server {
        listen 80;
        server_name $domain_name;
        root /var/www/html/;
        index index.html index.htm;
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        location ~\.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param HTTPS off;
                try_files $uri =404;
                include fastcgi_params;
                # if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; }
        }
}

我现在希望添加一些类似于 Apache 的简单重定向

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

我在最后添加了if (!-e $request_filename){ rewrite ^(.*)$ /index.php break;(参见上面注释掉的行)并将http://192.168.1.210/page2放在浏览器中,但是脚本仍然没有重定向到/var/www/html/index.php

如何将任何不存在的请求重定向到 index.php?

【问题讨论】:

    标签: redirect nginx


    【解决方案1】:

    您要完成的是将不存在的文件和目录重定向到 index.php?

    这可以通过使用来完成:

    try_files $uri $uri/ /index.php;
    

    或者哪个更有意义:

    error_page 404 /index.php;
    

    这还将重定向丢失的文件、图像、...

    【讨论】:

    • 我之前尝试过您的第一个解决方案,但是,它给出了以下错误:michael@raspberrypi:~ $ sudo /etc/init.d/nginx restart [....] Restarting nginx (via systemctl): nginx.serviceJob for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details. systemctl status nginx.service` 显示错误,但 journalctl -xn 没有显示任何内容。失败了!`。您的第二个解决方案不会导致错误,但它仍然不会重定向。谢谢
    • 您确实将 try_files 放在了位置之外,对吗?
    • 不,但从那以后。完美!
    猜你喜欢
    • 1970-01-01
    • 2016-11-15
    • 2020-03-16
    • 1970-01-01
    • 2015-07-05
    • 2013-01-21
    • 2016-07-03
    • 1970-01-01
    • 2012-12-09
    相关资源
    最近更新 更多