SAE AppConfig的重定向和Url重寫

SAE(Sina AppEngine)是基於Apache的,據官方說法爲了安全採用AppConfig代替.htaccess文件的工做。 php

來看此文的孩子想必都知htaccess的功能,通常會用到的有重定向、URL重寫、指定錯誤頁面、訪問限制等。 瀏覽器

最近把 返璞 網站託管到SAE,速度不見得更快,彷佛比國外及以前在汕頭的Windows服務器穩定了不少。  安全

AppConfig的設置文件爲根目錄的config.yaml,在SAE的AppConfig後臺全部修改操做都是修改該文件。使用也很簡單,這裏是 AppConfig 語法參考 
服務器

根據本身的需求,我一共設置如下三條。錯誤頁面等Wordpress已經處理好了。 app

view plaincopy to clipboardprint?post

  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.url

OK,至此你們看到我都是同一個語句

view plaincopy to clipboardprint?

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

是的,那重定向和url rewritetc怎麼區分?

AppConfig比較隱晦,文檔也不清楚,摸索出來的。

若是goto帶協議和域名如(http://foundpure.com) 就是重定向,所謂重定向就是瀏覽器的地址會變。

不然就是url rewrite,瀏覽器顯示的地址不變,但已經內容是新地址的內容。

通俗易懂,明白了麼?

(完)

相關文章
相關標籤/搜索