Changes
Title
changed
NginxHow to hidinge index.php on nginx
Category
unchanged
Tutorials
Yii version
unchanged
Tags
changed
URL
Content
changed
nginx+fastcgi+php方式下隐藏index.php需要注意几个问题
一个是配置PATH_INFO,不然无法使用yii urlManager的path格式
记得加上"fastcgi_param PATH_INFO $fastcgi_script_name;
"这行
```php_For a complete sample Nginx+PHP-FPM config, view this how-to: [Nginx & PHP-FPM](http://www.yiiframework.com/wiki/153/using-yii-with-nginx-and-php-fpm/)_
In order to use `path` URL format and hide index.php on nginx+fastcgi+php, we need the following configurations.
First, we need to add PATH_INFO to the server configuration. Otherwise, we will not be able to use `path` URL format in Yii:
~~~
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;[...]
access_log off;
}
```~~~
还有一个是rewrite规则
```phpSecond, we need the following rewrite rule to hide `index.php`:
nginx versions .7 and higher:
~~~
location /yiiGuestbook {
try_files $uri $uri/ /yiiGuestbook/index.php?r=$request_uri;
}
~~~
nginx versions prior to .7:
~~~
location /yiiGuestbook {
if (!-e $request_filename){[...]
}
}
```~~~
ApachePlease refer to [the Guide](http://www.yiiframework.com/doc/guide/topics.url) for hiding
`index.php
请看:(http://www.yiiframework.com/doc/guide/topics.url` on Apache httpd server.
### Links
[Russian version](http://dbhelp.ru/nginx-good-urls/page/)
[Chinese version](http://www.itkuaixun.com/bbs/thread-190-1-1.html)
FYI, it is good practice to have your 'root' declaration outside of the location blocks. Please refer to this article if you are new to nginx:
[nginx-pitfalls](http://wiki.nginx.org/Pitfalls)