在404页面上,Nginx仍显示不存在的URL(在我的情况下为索引)

时间:2015-02-21 21:10:45

标签: nginx

我对Nginx有轻微的问题,如果有人能帮我弄清楚它不起作用的原因,我将不胜感激。 我想要做的是当请求的URL无效时,网站重定向到索引页面,但使用以下代码时:

server {
    listen   80;

    root /usr/share/nginx/www;
    index index.php index.html index.htm;

    server_name localhost;

    error_page 404 /index.php;
    error_page 500 502 503 504 /50x.php;


    # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
    location ~ \.php$ {
            try_files $uri $uri/ =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

它的工作方式与我想要的完全不同。此代码有效,但在显示索引页时,URL仍为http://example.com/nonexistantpage。我希望网站重定向到索引页面,制作网址http://example.com

1 个答案:

答案 0 :(得分:1)

好的,这很容易尝试这个

error_page 404 =301 /;

如果不起作用则使用完整路径

error_page 404 =301 http://example.com;