SAE AppConfig的重定向和Url重写

SAE(Sina AppEngine)是基于Apache的,据官方说法为了安全采用AppConfig代替.htaccess文件的工作。

来看此文的孩子想必都知htaccess的功能,一般会用到的有重定向、URL重写、指定错误页面、访问限制等。

最近把 返璞 网站托管到SAE,速度不见得更快,似乎比国外及之前在汕头的Windows服务器稳定了很多。 

AppConfig的设置文件为根目录的config.yaml,在SAE的AppConfig后台所有修改操作都是修改该文件。使用也很简单,这里是 AppConfig 语法参考 

根据自己的需求,我一共设置以下三条。错误页面等Wordpress已经处理好了。

view plaincopy to clipboardprint?

  1. name: foundpure  
  2. version: 1  
  3. handle:  
  4. - rewrite: if( in_header["Host"] !~ "foundpure.com" && path ~ "(.*)" ) goto "http://foundpure.com$1?%{QUERY_STRING}"
  5. - rewrite: if( path ~ "(.*)archives(.*)" ) goto "http://foundpure.com$1post$2?%{QUERY_STRING}"
  6. - rewrite: if (!is_file() && !is_dir() && path ~ "^/(.*)") goto "index.php/$1?%{QUERY_STRING}"
name: foundpure
version: 1
handle:

- rewrite: if( in_header["Host"] !~ "foundpure.com" && path ~ "(.*)" ) goto "http://foundpure.com$1?%{QUERY_STRING}"

- rewrite: if( path ~ "(.*)archives(.*)" ) goto "http://foundpure.com$1post$2?%{QUERY_STRING}"

- rewrite: if (!is_file() && !is_dir() && path ~ "^/(.*)") goto "index.php/$1?%{QUERY_STRING}"

接下来,我解释一下三条rewrite的意思吧。

第一个rewrite,为了SEO的统一,我把所有非foundpure.com的流量都指到foundpure.com,包括sinaapp的二级域名foundpure.sinaapp.com。

第二个rewrite,  某天我手贱吧文章的永久域名archieves/{postId}改成了post/{postId}导致原先被搜索引擎收录的记录都变成了404.所以又做了个指向

第三个rewrite最常见,url优化,去掉了index.php.

OK,至此大家看到我都是同一个语句

view plaincopy to clipboardprint?

  1. - rewrite condition goto .... 
- rewrite condition goto ....

是的,那重定向和url rewritetc怎么区分?

AppConfig比较隐晦,文档也不清楚,摸索出来的。

如果goto带协议和域名如(http://foundpure.com) 就是重定向,所谓重定向就是浏览器的地址会变。

否则就是url rewrite,浏览器显示的地址不变,但已经内容是新地址的内容。

通俗易懂,明白了么?

(完)

posted @   phpbin  阅读(1757)  评论(0)    收藏  举报
编辑推荐:
· 运维排查 | SaltStack 远程命令执行中文乱码问题
· Java线程池详解:高效并发编程的核心利器
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 编码之道,道心破碎。
阅读排行:
· 基于.net6的一款开源的低代码、权限、工作流、动态接口平台
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
· Claude Code 初体验 - Windows
· 基于 C# 编写的轻量级工控网关和 SCADA 组态软件
· .NET 8 gRPC 实现高效100G大文件断点续传工具
点击右上角即可分享
微信分享提示