公司臺灣主站的url重寫

今天對公司臺灣主站的url地址進行優化.主站採用的是joomla,而joomla初建好後用的url對搜索引擎非常的不友好.

Joomla中的SEF說白了就是一個對URL的重寫的過程將原來參數衆多,層次很深的URL改寫爲一個簡單的更容易被記住被搜索的URL。通過分析Joomla站點的URL結果就會發現規律很明顯:

                  域名+index.php?option=com_content&task=category&sectionid=4&id=13&Itemid=27

以上就是一個最普通不過的URL,其中包含的元素有option(組件參數,告訴系統一下內容來自哪個組件)、task(任務參數,組件內執行什麼任務上面的例子中代表執行分類列表,sectionid內容的單元號JOOMLA特有,id,itemid項目號)。Joomla本身就自帶一個URL優化的組件,也就是一個函數實現對上述地址的重寫爲index.php/content/view/4/13/27.html,是不是貌似靜態,嚴格來說應該是僞裝的靜態。

我開啓了joomla自帶的sef,方法如下:

1. 必須使用apache作爲你的服務器,IIS是不支持的。
2. 開啓apache的rewrite功能,加載重寫模塊

LoadModule rewrite_module modules/mod_rewrite.so
3. 設置<Directory "/htdocs/">中的AllowOverride None爲AllowOverride All
4. 將htaccess.txt變爲.htaccess.
5. 設置RewriteBase /爲RewriteBase /site dir,將RewriteCond %{REQUEST_URI} ^(/ /component/option,com) [NC,OR] 修改爲RewriteCond %{REQUEST_URI} ^(/site dir/component/option,com) [NC,OR]因爲你的web不是放在root目錄下,而是放在site dir
6. Set $mosConfig_sef= "1" in configuration.php

如果你的joomla系統放在根目錄下,RewriteBase /不變,另外RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]不變,只需去掉前面的註釋即可。

然後重啓一下apache.

這時會發現地址確實被重寫了.變成了http://www.yourwebsite/content/view/286/這樣的.但正如上文所言,這只是僞靜態的.並且發生了404錯誤.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章