1. Code đặt trong thư mục forum
Mã:
server {
# listen 80;
listen 80 default_server;
server_name localhost;
root html;
access_log /var/log/nginx/localhost.access.log main buffer=32k;
error_log /var/log/nginx/localhost.error.log error;
# limit_conn limit_per_ip 16;
# ssi on;
location / {
# Enables directory listings when index file not found
autoindex on;
# Shows file listing times as local time
# autoindex_localtime on;
# Enable for vBulletin usage WITHOUT vbSEO installed
# try_files $uri $uri/ /index.php;
}
location /forum/ {
rewrite ^/forum/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /forum/vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
try_files $uri $uri/ /forum/vbseo.php?$args;
}
location /forum/includes {
allow 127.0.0.1;
deny all;
}
location /forum/packages {
allow 127.0.0.1;
deny all;
}
location /forum/vb {
allow 127.0.0.1;
deny all;
}
location /forum/admincp {
include /usr/local/nginx/conf/php.conf;
#auth_basic "Private";
#auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
location /forum/vbseo/(includes|resources/html|resources/xml)/ {
allow 127.0.0.1;
deny all;
}
location ~ /forum/(.*\.php)$ {
rewrite ^/forum/(.*)$ /forum/vbseo.php last;
}
}
Mã:
server {
# listen 80;
listen 80 default_server;
server_name localhost;
root html;
access_log /var/log/nginx/localhost.access.log main buffer=32k;
error_log /var/log/nginx/localhost.error.log error;
# limit_conn limit_per_ip 16;
# ssi on;
location / {
# Enables directory listings when index file not found
autoindex on;
# Shows file listing times as local time
# autoindex_localtime on;
# Enable for vBulletin usage WITHOUT vbSEO installed
# try_files $uri $uri/ /index.php;
}
location / {
rewrite ^/((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ /vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
try_files $uri $uri/ /vbseo.php?$args;
}
location /includes {
allow 127.0.0.1;
deny all;
}
location /packages {
allow 127.0.0.1;
deny all;
}
location /vb {
allow 127.0.0.1;
deny all;
}
location /admincp {
include /usr/local/nginx/conf/php.conf;
#auth_basic "Private";
#auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}
location /vbseo/(includes|resources/html|resources/xml)/ {
allow 127.0.0.1;
deny all;
}
location ~ /(.*\.php)$ {
rewrite ^/(.*)$ /vbseo.php last;
}
}
3. Trường hợp bị lỗi khi dùng 2 rule trên thì dùng rule sau:
rewrite ^/((urllist|sitemap_).*.(xml|txt)(.gz)?)$ /vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 last;
if ($uri !~ "(admincp/|modcp/|cron|vbseo_sitemap|api.php)"){
set $rule_1 1$rule_1;
}
if ($rule_1 = "1"){
rewrite ^/((archive/)?(.*.php(/.*)?))$ /vbseo.php last;
}
if (!-f $request_filename){
set $rule_2 1$rule_2;
}
if (!-d $request_filename){
set $rule_2 2$rule_2;
}
if ($request_filename !~ "/(admincp|modcp|clientscript|cpstyles|images)/"){
set $rule_2 3$rule_2;
}
if ($rule_2 = "321"){
rewrite ^/(.+)$ /vbseo.php last;
}
Lưu ý trên đây là khung sườn các bạn có thể tùy biến thêm nếu muốn.
Đăng nhận xét Blogger Facebook