我们都知道wordpress后台可以设置固定连接来优化我们网站的URL(当然可能你不知道,不知道请查看:wordpress固定链接使用教程),不过使用wordpress后台固定链接功能是需要我们服务器后台配置的,目前主流的服务器有Apache,Nginx,IIS。下面我们就来看下不同服务器如何设置wordpress的伪静态从而使wordpress的后台固定链接生效。
本文以”文章ID.html”为例
apache设置wordpress伪静态我们可以在网站的更目录下建立.htaccess文件来实现,在.htaccess添加如下代码(无需重启服务器):
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
下面以本站的nginx配置为例,修改后需要重新reload nginx的配置
#找到server_name localhost;在后边一行添加上面的代码
- location /
- {
- try_files $uri $uri/ /index.php?q=$uri&$args;
- }
以本站为例:
- server {
- listen 80;
- server_name shouce.ren www.shouce.ren;
- root /data/wwwroot/54ux;
- #配置wordpress伪静态
- location / {
- try_files $uri $uri/ /index.php?q=$uri&$args;
- }
- if ($host != 'www.shouce.ren' ) {
- rewrite ^/(.*)$ http://www.shouce.ren/$1 permanent;
- }
- if (!-e $request_filename) {
- rewrite (.*) /index.php last;
- }
- #php执行socket,根据自己情况定制
- include server.conf;
- }
Windows+IIS系统的配置如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <system.webServer>
- <rewrite>
- <rules>
- <rule name="wordpress" patternSyntax="Wildcard">
- <match url="*"/>
- <conditions>
- <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
- <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
- </conditions>
- <action type="Rewrite" url="index.php"/>
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>