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;
nếu ($request_method = POST) {
đặt $skip_cache 1;
}
nếu ($query_string != "") {
đặt $skip_cache 1;
}
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php
|sơ đồ trang web(_index)?.xml") {
đặt $skip_cache 1;
}
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;
}
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;
}
vị trí ~* ^/wp-content/uploads/.*.(html|htm|shtml|php|js|swf)$ {
Phủ nhận tất cả;
}
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;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
bao gồm /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
người phục vụ {
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
}
nếu ($host = example.com.com) {
trả lại 301 https://$host$request_uri;
}
nghe 8080 ;
server_name example.com www.example.com;
trả lại 404;
}
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.