Home >Backend Development >PHP Tutorial >nginx如何隐藏index.SegmentFault
我用下面的代码实现隐藏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>
是这个样么?