本文介紹如何開啟Typecho僞靜态(即URL Rewrite特性)。
配置類教程真的過時很快……找最新配置教程吧小夥伴們,這也是我這次的血淚教訓。
- 1 先把各種參數放在最開頭
時間:2020/10
Ubuntu18.04 + Typecho1.1 + Apache2
- 2 配置步驟
😥直接在Typecho背景選擇“啟用位址重寫功能”是不行的:
這點很多站長都遇到了,頁面404。
😢搜尋出錯原因時,大部分教程(甚至2019.08更新的、搜尋排名很靠前的一篇)都說再在網站根目錄加一個.htaccess檔案,并寫入Apache/Nginx 對應的重定向代碼就可以了 —— 但是,還是不行……我卡在這裡兩三天沒動彈。
😀成功的完整配置過程如下:
2.1 在Typecho背景選擇“啟用位址重寫功能”,遇到報警提示直接打勾、确認。
2.2 在Apache2的站點配置(/etc/apache2/apache2.conf)中添加一段代碼:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]
備注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的網頁版部落格喲