标签 Typecho 下的文章

Typecho的静态重写的意思的实质就是将链接里的index.php去掉,这非常有用,因为方便迁移,但是网上你能搜到的教程全部都是Nginx了,这对于IIS而言就非常折磨了。

虽然也有IIS开启这个功能的相关文章,不过笔者还是再重新整理一下相应内容主要是自己实现的时候没搜到。这个功能本质不算复杂,只不过是文档太过晦涩了,具体的方法请参考如下的文章:

基本上这四个网站看完就能自己写了。但是会遇到一个拦路虎:怎么在线调试Azure Web App的网站呢?日志哪里看呢?虽然Azure有官方文档,但是说实话讲的跟面条一样,啥都讲了没有重点。笔者这里具体说下怎么看Rewrite的问题日志:

  • Failed request tracing是我们的重点,因此要先去Azure Portal->App Service Logging里打开Failed request tracing选项(Detailed error messages视情况也可打开);
  • 在浏览器里复现你的问题,可以多复现几次;
  • 然后打开你的网站的kudu后台(也就是Kudu Services),点击上方的Tools->Diagnostic dump,下载日志文件,里面就能看到具体的报错信息了。

好的好的,知道你想要具体的规则怎么实现的,除了上面的地址以外,笔者的GitHub上也提供了相应的web.config文件。

添加了两个插件,一个是友情链接,另一个是reCaptcha。二者的git仓库地址见下:

插件的添加不再赘述,这里重点聊聊一些网上没讲过的问题:

  1. 部署问题。如果在Azure里使用的是Local git部署,那么直接git push上去就行,Kudu会自动diff差别,将插件同步到系统中。
  2. 添加具体的插件逻辑代码。recaptcha很好添加,重点是友链,需要修改主题的相关文件。
    themes/sidebar.php中添加这段代码:

     <?php if (!empty($this->options->sidebarBlock) && in_array('ShowLinks', $this->options->sidebarBlock)): ?>
         <section class="widget">
             <h3 class="widget-title"><?php _e('链接'); ?></h3>
             <ul class="widget-list">
                 <?php Links_Plugin::output(); ?>
             </ul>
         </section>
     <?php endif; ?>

    很显然,里面出现了ShowLinks这样的选项。因此还要再去主题的functions.php里更改,也就是添加一个ShowLinks的option,这方面的资料参考这里

主题方面的更新之后再说吧,感觉一次改动太多很折磨- -毕竟自己不是写php的