nginx如何隐藏index.SegmentFault
程序员文章站
2022-04-08 08:52:45
...
我用下面的代码实现隐藏php框架的index.php的目的,但是效果可以了,就是如果把网站首页由index.php换成index.html后,刷新网站首页,由于index.php不存在了,就会出现找不到页面的错误。怎么设置让.html .htm文件不要转向index.php呢,就是说当首页是index.php时自动隐藏转向,如果是index.html .htm之类的页面,就不要转向了呢。
server
{
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;
}*
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;
}
回复内容:
我用下面的代码实现隐藏php框架的index.php的目的,但是效果可以了,就是如果把网站首页由index.php换成index.html后,刷新网站首页,由于index.php不存在了,就会出现找不到页面的错误。怎么设置让.html .htm文件不要转向index.php呢,就是说当首页是index.php时自动隐藏转向,如果是index.html .htm之类的页面,就不要转向了呢。
server
{
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;
}*
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;
}
请问下面的slim nginx配置示例是什么意思,9000那个端口又是什么意思。http://docs.slimframework.com/routing/rewrite/#nginx
server {
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
}
}
location /
{
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
是这个样么?