Wordpress在Apache/Nginx/IIS/Lighttpd环境下的伪静态配置

1、Apache

在项目根目录的【.htaccess】文件(如果没有则新建文件),添加如下代码

# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 
# END WordPress

2、Nginx

location /
{
     try_files $uri $uri/ /index.php?$args;
}
 
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

或者

if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

3、IIS

iis6.x   下使用 httpd.ini

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
 
CacheClockRate 3600
RepeatLimit 32
 
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
 
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

 

iis7.x   下使用web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
        <rules>
         <rule name="OrgPage" stopProcessing="true">
         <match url="^(.*)$" />
         <conditions logicalGrouping="MatchAll">
         <add input="{HTTP_HOST}" pattern="^(.*)$" />
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
         </conditions>
         <action type="Rewrite" url="index.php/{R:1}" />
         </rule>
         </rules>
    </rewrite>
    </system.webServer>
</configuration>

4、Lighttpd

lighttpd是不支持.htaccess的,所以只能在配置文件【lighttpd.conf】中修改

url.rewrite = ("^/(wp-.+).*/?" => "$0","^/(sitemap.xml)" => "$0","^/(xmlrpc.php)" => "$0","^/(.+)/?$" => "/index.php/$1")

来源:http://www.shanhubei.com/archives/2861.html

posted @ 2023-11-22 15:28  珊瑚贝博客  阅读(178)  评论(0编辑  收藏  举报