magento在Nginx下的Rewrite(伪静态规则)

magento在Nginx下的Rewrite伪静态规则困扰了不少学者,很多少就会问为什么在Nginx下的空间安装magento打开里面的网址会出来404呢,这就是重写的原因,下面就来介绍下具体修改的部分。

nginx.conf 文件server 部分的内容:

server {
server_name _; //服务器名称,一般填写域名的,只是测试,就算了。
access_log logs/host.access.log main; //日志文件
location / { //这是重头戏
root /usr/share/nginx/html; //网站根目录(这里我用了nginx默认的)
index index.php index.html index.htm; //入口文件,也就是服务器的索引文件了。
if (-f $request_filename) {
expires 30d;
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php last;
} //上面一段是根据magento的URL重写定义的。
}
location ~ \.php$ { //这个是运行PHP文件的参数。
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /path/to/html$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
location /app/etc {//这个是禁止任何人读取配置目录
deny all;
}
}

重启服务器

service nginx restart 再刷新下自己的网站,清楚下缓存,是不是正常了。

需要修改的基本上是server 部分,其它部分根据自己的服务器需求,再做修改就行。


你可能感兴趣的:(Magento)