Accept cookies for analytics, social media, and advertising, or learn more and adjust your preferences. These cookies are on by default for visitors outside the UK and EEA. Privacy Notice.
This configuring gives SEF URLs for Yii
server {
server_name domain.tld;
root /usr/share/nginx/html;
index index.html index.php;
#Yii Specific location configurations.
#SEF URLs for sampleapp.
location /sampleapp {
rewrite ^/sampleapp/(.*)$ /sampleapp/index.php?r=$1;
}
location ~ /(protected|framework|nbproject) {
deny all;
access_log off;
log_not_found off;
}
location ~ /themes/\w+/views {
deny all;
access_log off;
log_not_found off;
}
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
try_files $uri =404;
}
#End Yii Specific specific location configurations.
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
}
}
After this, make sure that your Yii configuration file (main.php) for your app( sampleapp) contains the following information to enable SEF URLs in the app:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
)