Heim > Backend-Entwicklung > PHP-Tutorial > nginx如何隐藏index.SegmentFault

nginx如何隐藏index.SegmentFault

WBOY
Freigeben: 2016-06-06 20:25:54
Original
1203 Leute haben es durchsucht

我用下面的代码实现隐藏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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

我用下面的代码实现隐藏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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

请问下面的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>
Nach dem Login kopieren

}

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

是这个样么?

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage