Nginx Rewrite URL WordPress Sub-folder?


(Bui Ngoc Son) #1

Chào mọi người !
mình làm một trang wp để trong folder tin-tuc. mình bật đường dẫn tĩnh trong wp lên nhưng không được, mình đã thử them đoạn code này vào file config của domain và reset lại nginx nhung không có tác dung.

location /tin-tuc/ {
try_files $uri $uri/ /tin-tuc/index.php?$args;
}

giúp mình với.


(Luân Trần) #2

Bạn check lại nha, code của mình ok đó.

Để đoạn trên ngay dưới đoạn:

    location / {
            try_files $uri $uri/ /index.php?$args;
    }

(Bui Ngoc Son) #3

server {
server_name www.maytinhvietphong.vn;
rewrite ^(.*) http://maytinhvietphong.vn$1 permanent;

	}

server {
listen 80;

	access_log off;
	error_log off;
	# error_log /home/maytinhvietphong.vn/logs/error.log;
	root /home/maytinhvietphong.vn/public_html;

index index.php index.html index.htm;
server_name maytinhvietphong.vn;

	location / {
  try_files $uri $uri/ /index.php?$args;

}

  location /tin-tuc/ {
  try_files $uri $uri/ /tin-tuc/index.php?$args;

}
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 256k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/maytinhvietphong.vn/public_html$fastcgi_script_name;
}
location ~ /. {
deny all;
}

location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* .(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
gzip_static off;
add_header Pragma public;
add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
access_log off;
expires 30d;
break;
}

    location ~* \.(txt|js|css)$ {
      add_header Pragma public;
  add_header Cache-Control "public, must-revalidate, proxy-revalidate";
  access_log off;
  expires 30d;
  break;
    }
    error_page 403 /403.html;
    location = /403.html {
            root /usr/share/nginx/html;
            allow all;
    }
    error_page 404 /404.html;
    location = /404.html {
            root /usr/share/nginx/html;
            allow all;
    }
}

server {
server_name www.maytinhvietphong.com maytinhvietphong.com;
rewrite ^(.) http://maytinhvietphong.vn$1 permanent;
}
server {
server_name www.maytinhvietphong.com.vn maytinhvietphong.com.vn;
rewrite ^(.
) http://maytinhvietphong.vn$1 permanent;
}

Mình để thế này nhưng không thấy được gì cả


(Luân Trần) #4

Site con http://maytinhvietphong.vn/tin-tuc/ bạn lưu lại đường dẫn tĩnh thử xem. Cần thì vào trang chính Save lại 1 lần nữa.


(Bui Ngoc Son) #5

Nếu để đường dẫn tĩnh là 404 Not Found luôn :unamused:


(Luân Trần) #6

Bạn restart lại Nginx nữa nhé?


(Bui Ngoc Son) #7

tất nhiển là mình restart rồi.
mình còn stop và start lại
reset cả server luôn :confused:


(Luân Trần) #8

Vậy thì bạn thao tác thiếu chỗ nào rồi. Cho bạn xem demo lúc sáng test thử lại file cấu hình khi đọc câu hỏi của bạn:

http://45.58.54.108/hello-world/
http://45.58.54.108/example/hello-world/


(Bui Ngoc Son) #9

không biết sao nhưng mình chạy một site khác trên server này và rewrite tốt

http://quancunguoixua.vn/

à. khi mình restart nginx thì nó báo thế này

[root@vpcom ~]# service nginx restart
nginx: [warn] conflicting server name “www.maytinhvietphong.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “www.maytinhvietphong.com” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.com” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “www.maytinhvietphong.com.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.com.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “vpcom.vn” on 0.0.0.0:80, ignored
Stopping nginx: [ OK ]
Starting nginx: nginx: [warn] conflicting server name “www.maytinhvietphong.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “www.maytinhvietphong.com” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.com” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “www.maytinhvietphong.com.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “maytinhvietphong.com.vn” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “vpcom.vn” on 0.0.0.0:80, ignored
[ OK ]

KHông biết có phải tại mấy cái warn kia không


(Luân Trần) #10

Cấu hình nginx của bạn conflict rồi, ví dụ: server name www.maytinhvietphong.vn có trong nhiều file .conf


(Bui Ngoc Son) #11

Ngon rồi ha ha…
tại mình để mấy cái maytinhvietphong.vn.conf, maytinhvietphong.vn.conf.old, maytinhvietphong.vn.conf_ …


(quocmai) #12

Em rewrite nó chạy rồi mà bị lỗi many redirect khi vào wp-admin thì fix sao ạ.