wordpress 內建的重寫規則都是關於apache的,本文將介紹如何配製nginx下的wordpress重寫規則。 首先,配置一個php的upstream,這樣可以方便backend的機器和連接埠的改變,然後配置對應部落格網域名稱虛擬機器。 # Upstream to abstract backend connection(s) for phpupstream php { server unix:/tmp/php-cgi.socket; server 127.0.0.1:9000;} server { ## Your website name goes here. server_name domain.tld; ## Your only path reference. root /var/www/wordpress; ## This should be in your http block and if it is, ## it's not needed here. index index.php; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { # This is cool because no php is touched for static content. # include the "?$args" part so non-default permalinks doesn't # break when using query string try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi.conf; fastcgi_intercept_errors on; fastcgi_pass php; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; }}