Home >Backend Development >PHP Tutorial >nginx如何隐藏index.SegmentFault

nginx如何隐藏index.SegmentFault

WBOY
WBOYOriginal
2016-06-06 20:25:541206browse

我用下面的代码实现隐藏php框架的index.php的目的,但是效果可以了,就是如果把网站首页由index.php换成index.html后,刷新网站首页,由于index.php不存在了,就会出现找不到页面的错误。怎么设置让.html .htm文件不要转向index.php呢,就是说当首页是index.php时自动隐藏转向,如果是index.html .htm之类的页面,就不要转向了呢。

server

<code>{
    listen 80;
    #listen [::]:80;
    server_name www.abcword.com abcword.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/www.abcword.com;

    *if (-f $request_filename/index.php){
           rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
            rewrite (.*) /index.php;
     }*
</code>
<code>    include other.conf;
    #error_page   404   /404.html;
    location ~ [^/]\.php(/|$)
    {
        # comment try_files $uri =404; to enable pathinfo
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        #include pathinfo.conf;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    access_log  /home/wwwlogs/www.abcword.com.log  access;
}
</code>

回复内容:

我用下面的代码实现隐藏php框架的index.php的目的,但是效果可以了,就是如果把网站首页由index.php换成index.html后,刷新网站首页,由于index.php不存在了,就会出现找不到页面的错误。怎么设置让.html .htm文件不要转向index.php呢,就是说当首页是index.php时自动隐藏转向,如果是index.html .htm之类的页面,就不要转向了呢。

server

<code>{
    listen 80;
    #listen [::]:80;
    server_name www.abcword.com abcword.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/www.abcword.com;

    *if (-f $request_filename/index.php){
           rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
            rewrite (.*) /index.php;
     }*
</code>
<code>    include other.conf;
    #error_page   404   /404.html;
    location ~ [^/]\.php(/|$)
    {
        # comment try_files $uri =404; to enable pathinfo
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        #include pathinfo.conf;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    access_log  /home/wwwlogs/www.abcword.com.log  access;
}
</code>

请问下面的slim nginx配置示例是什么意思,9000那个端口又是什么意思。http://docs.slimframework.com/routing/rewrite/#nginx

server {

<code>listen       80;
server_name  www.mysite.com mysite.com;
root         /path/www.mysite.com/public_html;

try_files $uri /index.php;

# this will only pass index.php to the fastcgi process which is generally safer but
# assumes the whole site is run via Slim.
location /index.php {
    fastcgi_connect_timeout 3s;     # default of 60s is just too long
    fastcgi_read_timeout 10s;       # default of 60s is just too long
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;    # assumes you are running php-fpm locally on port 9000
}</code>

}

<code>location /
{
        if (!-e $request_filename) {
                rewrite ^(.*)$ /index.php/$1 last;
                break;
        }
}</code>

是这个样么?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:签到功能的数据库怎么设计Next article:md5加密问题