不同环境下Typecho的伪静态设置

Typecho是一个基于PHP的简洁的开源博客程序。它使用多种数据库储存数据,在GNU GPLv2许可证下发行。相对于WordPress而言,更加 简洁,原生支持Markdown,非常易于写文章。
对于Typecho开启伪静态一般需要两步,第一步现在Typecho后台进行设置。然而Typecho后台设置永久链接后,会在域名后加上index.php,这一点可以通过利用服务器的rewrite来隐藏。

Linux Nginx环境

Nginx通过修改nginx.conf来实现功能控制,只需要在server模块里添加以下代码即可:

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
}

Linux Apache环境

可以通过在apache的conf配置文件中添加代码实现,也可以通过在网站根目录下的.htaccess中添加代码实现:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

</IfModule>

Windows IIS环境

windows下一般是通过修改根目录下的httpd.ini文件或者web.config文件实现。
修改httpd.ini文件

[ISAPI_Rewrite]
RewriteRule /(.*).html /index.php/$1.html [L]

也可以设置的更详细些:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# 中文tag解决
RewriteRule /tag/(.*) /index\.php\tag=$1
# sitemapxml
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# 内容页
RewriteRule /(.*).html /index.php/$1.html [L]
# 评论
RewriteRule /(.*)/comment /index.php/$1/comment [L]
# 分类页
RewriteRule /category/(.*) /index.php/category/$1 [L]
# 分页
RewriteRule /page/(.*) /index.php/page/$1 [L]
# 搜索页
RewriteRule /search/(.*) /index.php/search/$1 [L]
# feed
RewriteRule /feed/(.*) /index.php/feed/$1 [L]
# 日期归档
RewriteRule /2(.*) /index.php/2$1 [L]
# 上传图片等
RewriteRule /action(.*) /index.php/action$1 [L]

修改web.config

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

至于究竟是用httpd.ini,还是web.config,一般优先尝试web.config,或者看看目录下已经有的是哪一个。。
搬砖自https://www.quanyin.me/2018/09/typecho-rewrite/

10 条评论

Stevtafe Stevtafe

Cialis Informacion En Espanol Achat Baclofene En Ligne Amoxicillin For Infants viagra online prescription Cialis Alle Erbe Funziona Acheter Viagra Avec Paypal Comprar Cialis 5 Mg Generico

回复
FranRip FranRip

Comprare Cialis In Italia Amoxicillin Clavulanate Aka Augmentin 250m Compra Cialis Barcelona cheapest cialis Left Amoxicillin Out Over Night

回复
Stevtafe Stevtafe

discount isotretinoin acne for sale best website visa Cialis India Online levitra canada Cheap Safe Viagra Best Prices For Legal Levitra

回复
Stevtafe Stevtafe

Amoxicillin And Clavulanate Oral Suspension Buy Tadacip Uk Generic Bentyl Drugs By Money Order cialis canada Ou Acheter Viagra En Ligne Buy Cialis Online Without Prescription

回复
FranRip FranRip

Parafarmacia Online Propecia Viagra On Line Purchases Levitra Overdose cheapest cialis Purchasing Finasteride Levitra Ohne Rezept Verkaufen Come Assumere Levitra

回复
Lesinhaws Lesinhaws

Healthy Man Cheapest Non Prescription Celias generic cialis overnight delivery Stendra Mastercard Accepted Tyneside Buy Buspar Cheap Cialis Rue Du Four

回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注