天天看點

apache僞靜态把css 排除掉_Typecho+Apache2設定僞靜态

本文介紹如何開啟Typecho僞靜态(即URL Rewrite特性)。

配置類教程真的過時很快……找最新配置教程吧小夥伴們,這也是我這次的血淚教訓。 

  • 1 先把各種參數放在最開頭 

時間:2020/10 

Ubuntu18.04 + Typecho1.1 + Apache2 

  •  2 配置步驟 

😥直接在Typecho背景選擇“啟用位址重寫功能”是不行的: 

  這點很多站長都遇到了,頁面404。 

😢搜尋出錯原因時,大部分教程(甚至2019.08更新的、搜尋排名很靠前的一篇)都說再在網站根目錄加一個.htaccess檔案,并寫入Apache/Nginx 對應的重定向代碼就可以了 —— 但是,還是不行……我卡在這裡兩三天沒動彈。

😀成功的完整配置過程如下:

2.1 在Typecho背景選擇“啟用位址重寫功能”,遇到報警提示直接打勾、确認。

apache僞靜态把css 排除掉_Typecho+Apache2設定僞靜态

2.2 在Apache2的站點配置(/etc/apache2/apache2.conf)中添加一段代碼:

        RewriteEngine On        RewriteBase /        RewriteCond %{REQUEST_FILENAME} !-f        RewriteCond %{REQUEST_FILENAME} !-d        RewriteRule ^(.*)$ /index.php/$1 [L] 
           
apache僞靜态把css 排除掉_Typecho+Apache2設定僞靜态

備注1:這段代碼隻适用  Apache2

備注2:這段代碼隻适用  Typecho安裝在雲伺服器一級目錄的情況下

2.3 我不确定Apache2有沒有預設啟用rewrite子產品(實踐發現其實已經開啟),是以幹脆手動啟動了一下,然後再重新開機Apache服務:

sudo a2enmod rewrite service apache2 restart
           

完成✨

  • 3 了解原理

3.1 關于僞靜态 

在現代爬蟲足夠智能的今天,僞靜态在SEO裡究竟占多重分量不好說。不過,為了網站域名美觀考慮,将網站所有URL僞靜态化也是有必要的。

了解兩點:

✔ 僞靜态輸入,即伺服器将浏覽器的靜态位址轉換成動态參數的過程,譬如:https://m1llie.tech/nice/3.html轉換成https://m1llie.tech/index.php?c=nice&id=3 

✔ 僞靜态輸出,即PHP代碼将僞靜态位址輸出給浏覽器識别,譬如echo site_url("nice","3") 轉換成https://m1llie.tech/nice/3.html 

(對于第二點的了解,不明白的話可以參考文末那篇參考資料) 

是以,配置僞靜态的時候有兩個地方需要配置,一個是Apache2 輸入僞靜态(即本文中對Apache配置檔案的修改),一個是PHP 輸出僞靜态(即本文中進入Typecho背景進行的設定)。

3.2 沒有使用.htaccess來配置

實際上,也可以在網站根目錄下建立.htaccess 檔案并寫入重定向規則,然後在apache2.conf 中把下修改為AllowOverride ALL。僞靜态的目的可以達到,但是AllowOverride 允許站點目錄下的其他配置覆寫Apache2這裡的配置,可能會被用于提權,有安全風險。

參考:

[1]  Typecho中文網 - 建站基礎系列 05.常用配置之Apache僞靜态

https://www.typechodev.com/servers/remove_index_for_apache.html

這裡貌似不能評論,點選“閱讀原文”進入m1llie的網頁版部落格喲

繼續閱讀