长沙网站建设:emlog vps 伪静态规则【iis / nginx】 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

长沙网站建设:emlog vps 伪静态规则【iis / nginx】

点滴 admin 12年前 (2013-03-21) 1520次浏览 已收录 扫描二维码

今天转移博客,把博客转移到vps下面了,以为以前是linux空间,现在用的是win主机,所以面临了一个问题,就是博客伪静态的问题。

 

IIS6:(iis6主机请联系主机商修改规则,部分主机支持httpd.ini,请将下列代码保存为httpd.ini或者下载附件中的httpd.ini上传到博客根目录)

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /robots.txt(.*) /robots.txt$1 [L]
RewriteRule /rss.php(.*) /rss.php$1 [L]
RewriteRule /tb.php(.*) /tb.php$1 [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /xmlrpc.php(.*) /xmlrpc.php$1 [L] 
RewriteRule /wlwmanifest.xml /wlwmanifest.xml [L] 
RewriteRule /(t|m)$ /$1/ [R]
RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L]
RewriteRule /install.php(.*) /install.php$1 [L]
RewriteRule /emlog_toolkit.php(.*) /emlog_toolkit.php$1 [L]
RewriteRule /up(d.d.d)to(d.d.d).php(.*) /up$1to$2.php$3 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

支持.htaccess的IIS6服务器规则:

 

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [L]

【注】关于IIS6规则说明:由于IIS6不支持.htaccess的一些判断规则,因此只能事先处理一些会被正常访问的目录或者文件。有些地方可能需要做修改:
1、如果你有其他非emlog文件,因为添加如上规则而不能正常访问,要想使它们能正常访问的,则添加一条规则在第5行后面,参考第五行

 

RewriteRule /rss.php(.*) /rss.php$1 [L]

将rss.php修改为你要访问的文件即可
如果你有其他非emlog目录,因为添加如上规则而不能正常访问,要想使它们能正常访问的,则参考第10、11行,将目录添加进来(用|隔开目录):

 

RewriteRule /(t|m|admin)$ /$1/ [R]
RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L]

2、如果你的博客在子目录,那么需要将所有目录都改为子目录的,比如你的博客在emlog目录下,那么规则如下:

    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule /emlog/rss.php(.*) /emlog/rss.php$1 [L]
    RewriteRule /emlog/tb.php(.*) /emlog/tb.php$1 [L]
    RewriteRule /emlog/favicon.ico /emlog/favicon.ico [L]
    RewriteRule /emlog/xmlrpc.php(.*) /emlog/xmlrpc.php$1 [L]
    RewriteRule /emlog/wlwmanifest.xml /emlog/wlwmanifest.xml [L]
    RewriteRule /emlog/(t|m)$ /emlog/$1/ [R]
    RewriteRule /emlog/(admin|content|include|t|m)/(.*) /emlog/$1/$2 [L]
    RewriteRule /emlog/install.php(.*) /emlog/install.php$1 [L]
    RewriteRule /emlog/emlog_toolkit.php(.*) /emlog/emlog_toolkit.php$1 [L]
    RewriteRule /emlog/up(d.d.d)to(d.d.d).php(.*) /emlog/up$1to$2.php$3 [L]
    RewriteRule ^/emlog/$ /emlog/index.php [L]
    RewriteRule /emlog/(.*) /emlog/index.php/$1 [L]

nginx:(nginx主机请联系主机商更改规则,部分主机可能支持自定义规则)

 

    location / {
            index index.php index.html;
            if (!-e $request_filename)
            {
                    rewrite ^/(.+)$ /index.php last;
            }
    }

IIS7/7.5 规则

 

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="emlog 4.0.1 for IIS7.5" stopProcessing="true">
                        <match url="." ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll">
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="/index.php" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。