Tôi đã thử nó nhiều lần nhưng nó không hoạt động. Tôi có một Máy chủ chạy Debian 10 đã cài đặt NGINX và Wordpress.
Bây giờ tôi cần viết lại một số URL cũ sang vị trí mới.
Chúng ta phải viết lại các URL như thế này:
example.com/artikel.html?id=##ID##&meldung=###Meldung### to example.com/artikel/$2
server_name example.com www.example.com;
gốc /var/www/example.com;
chỉ mục index.html index.htm index.php;
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;
đặt $skip_cache 0;
# POST các yêu cầu và URL có chuỗi truy vấn phải luôn chuyển đến PHP
nếu ($request_method = POST) {
đặt $skip_cache 1;
}
nếu ($query_string != "") {
đặt $skip_cache 1;
}
# Không lưu trữ các URI chứa các phân đoạn sau
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php
|sơ đồ trang web(_index)?.xml") {
đặt $skip_cache 1;
}
# Không sử dụng bộ đệm cho người dùng đã đăng nhập hoặc người bình luận gần đây
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass
|wordpress_no_cache|wordpress_logged_in") {
đặt $skip_cache 1;
}
vị trí /Artikel {
viết lại ^/Artikel.html(.*)$ https://example.com/artikel break;
}
địa điểm / {
add_header Front-End-Https bật;
add_header Kiểm soát bộ đệm "công khai, phải xác thực lại";
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
try_files $uri $uri/ =404 @rewrite;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
địa điểm @rewrite {
viết lại ^/Artikel.html$ /kontakt vĩnh viễn;
viết lại ^/Artikel\.html /artikel chuyển hướng;
viết lại ^/test/(.*)/$ example2.com/test($1) vĩnh viễn;
viết lại ^/artikel.html?id=(.*)&meldung=(.*)$ https://example.com/artikel/$2 vĩnh viễn;
}
vị trí ~ \.php$ {
bao gồm đoạn trích/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
#fastcgi_cache WORDPRESS;
#fastcgi_cache_valid 60m;
}
#vị trí ^~ /pma/ {
# gốc /var/www/html/pma;
#}
vị trí ~ /\.ht {
Phủ nhận tất cả;
}
vị trí ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2 |doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
truy cập_đăng xuất; log_not_found tắt; hết hạn tối đa;
}
vị trí ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
hết hạn tối đa;
log_not_found tắt;
}
#location ~ /purge(/.*) {
# fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
#}
# Từ chối quyền truy cập vào các nội dung tải lên không phải là hình ảnh, video, nhạc, v.v.
vị trí ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf)$ {
Phủ nhận tất cả;
}
# Từ chối quyền truy cập công khai vào wp-config.php
vị trí ~* wp-config.php {
Phủ nhận tất cả;
}
vị trí = /robots.txt {
truy cập_đăng xuất;
log_not_found tắt;
}
vị trí ~/. {
Phủ nhận tất cả;
truy cập_đăng xuất;
log_not_found tắt;
}
nếu (!-e $request_filename) {
viết lại ^.* /index.php ngắt;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = example.com.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 8080 ;
server_name example.com www.example.com;
trả lại 404; # được quản lý bởi Certbot
}
Tôi mong muốn được nghe từ bạn sớm.
Cảm ơn trước cho những nỗ lực của bạn.