Symfony
Symfony國外很流行的php框架,目前國內用的相對較少,但是一定會在國內火起來. nginx重寫規則如下
server { server_name vevb.com www.49028c.com; root /data/site/www.49028c.com;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.49028c.com_error.log; }
重啟nginx即可
CodeIgniter
CodeIgniter,即被很多人簡稱為CI的高人氣PHP框架,其中文社區也比較活躍,來看一下CI的rewrite寫法:
server { listen 80; server_name vevb.com www.49028c.com;root /data/site/www.49028c.com; 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/vevb.com/; 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'] = "http://www.49028c.com/"; $config['index_page'] = ""; $config['uri_protocol'] = "REQUEST_URI";