这篇文章主要介绍了PHP的Symfony和CodeIgniter框架的Nginx重写规则配置,文中截取配置中关键的一些rewrite写法进行讲解,需要的朋友可以参考下
Symfony
Symfony国外很流行的php框架,目前国内用的相对较少,但是一定会在国内火起来. nginx重写规则如下
server { server_name php.cn www.php.cn; root /data/site/www.php.cn; location / { # try to serve file directly, fallback to rewrite try_files $uri @rewriteapp; } location @rewriteapp { # rewrite all to app.php rewrite ^(.*)$ /app.php/$1 last; } location ~ ^/(app|app_dev|config).php(/|$) { fastcgi_pass unix:/var/run/php5-fpm.sock; # 改成你对应的FastCGI fastcgi_split_path_info ^(.+.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } error_log /data/logs/nginx/www.php.cn_error.log; }
重启nginx即可
CodeIgniter
CodeIgniter,即被很多人简称为CI的高人气PHP框架,其中文社区也比较活跃,来看一下CI的rewrite写法:
server { listen 80; server_name php.cn www.php.cn; root /data/site/www.php.cn; index index.php; error_log log/error.log; # set expiration of assets to MAX for caching location ~* .(ico|css|js|gif|jpe?g|png)(?[0-9]+)?$ { expires max; log_not_found off; } # main codeigniter rewrite rule location / { try_files $uri $uri/ /index.php; } # php parsing location ~ .php$ { root /data/site/php.cn/; try_files $uri =404; fastcgi_pass unix:/tmp/php5-fpm.sock; # 改成对应的FastCGI fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
修改CI(CodeIgniter )配置文件config.php
$config['base_url'] = "//www.php.cn/"; $config['index_page'] = ""; $config['uri_protocol'] = "REQUEST_URI";
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
关于CI框架中$this->load->library()的用法分析
The above is the detailed content of About Nginx rewrite rule configuration for PHP's Symfony and CodeIgniter frameworks. For more information, please follow other related articles on the PHP Chinese website!