知識分享

AllowOverride 的參數可詳見官網說明。這個參數用來控制客戶端可利用.htaccess的程度。參數如下:

  1. AuthConfig 允許使用與認證授權相關的指令
    • AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require...
  2. FileInfo 文件相關指令
    • 控制文件類型(mod_mime):
      DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter,
    • mod_mime
      Add* 和
更多

在Linux有幾個找檔案的指令:find, whereis, locate

find跟windows裡面的搜尋功能有點像,是整個目錄逐一去找,所以效能可能會"稍微"慢一點,語法如下:

find -name 檔名

whereis 則是直接尋找已經找過的檔案來找,所以速度很快,不過如果沒有找過的檔案,就會找不到,但事實上用whereis找不到,並不表示檔案不存在,語法如下:

whereis 檔名

locate則是透過索引的方式去找檔案,速度也滿快的,不過新檔案可能會找不到,需要另外透過指令建立索引。語法如下

locate 檔名
#更新索引
sudo updatedb
#如果找不到locate這個指令,先進行安裝
sudo apt-get install locate

Options的參數說明可參考官網說明,只是說明中的yosia也不太會翻譯,不過基本上從設定值來說,這個參數是用來控制在目錄中可以執行的功能。共有以下幾個參數

  1. All
    除了MultiViews以外的所有功能
  2. ExecCGI
    可以使用mod_cgi來執行CGI程式
  3. FollowLinks
    允許訪問符號連結(symbolic link)的子目錄。此為預設值。
  4. Includes
    允許mod_include所使用的伺服端函式庫
  5. IncludesNOEXEC
    同上,但#exec cmd 以及 #exec cgi除外
  6. Indexes
    若被訪問的URL中沒有任何的index檔案,則顯示該目錄的子目錄列表
  7. MultiViews
    多語系支援
  8. SymLinksIfOwnerMatch
    同FollowLinks,但目的地目錄或檔案的擁有者必須與符號連結的擁有者相同。

 

Hammer.js

Hammer.js是一個專門用於控制、定製手勢的輕量級JavaScript框架,可以識別出常見的觸摸、拖動、長按、縮放等手勢。支持Android、BlackBerry、iOS及Windows觸屏設備。

jQuery UI

jQueryUI是一套jQuery JS庫的頁面UI插件,包含多種常用的頁面空間,比如Tabs、拉簾效果、對話框、拖放效果、日期選擇、顏色選擇、數據排序、窗體大小調整等。能夠讓開發者輕而易舉地製作出一個高度交互的Web應用。無論是對於開發者還是設計師而言,它都非常實用。

FastClick

FastClick是一個非常方便的庫,在移動瀏覽器上發生介於輕敲及點擊之間的指令時,

更多

在Microsoft Windows底下,我們可以透過工作排程來定期執行特定程序。而在Linux,則是透過crontab來進行。

一般來說有下指令編輯設定檔兩個方式可以設定。

下指令設定

語法:crontab [-u username] [-l|-e|-r]
說明:

  1. 這個指令預設只有root可以使用,加上-u 參數以指定特定帳號為該工作的執行者
  2. -e:編輯工作排程
  3. -l:檢視工作排程
  4. -r: 刪除所有工作排程

編輯設定檔

一般crontab的設定檔會位在 /etc/crontab,所以直接編輯這個檔案就行了,ubuntu系統要記得用sudo
指令:vim /etc/crontab

工作排程的設定格式如下:

格式:分(0-59) 時(0-23) 日(1-31) 月(1-12) 週(0-7) 要執行的指令串
說明:

  1. 各參數以空格分隔
更多

設定訪問權限的時候,有三個關鍵字:Order , Allow, Deny。其中Order會指定"檢查權限設定的順序",Allow會指定"允許訪問名單",Deny則指定"禁止訪問名單"。因為Order的邏輯有點特殊,所以特以此篇記錄心得,不過詳情參考Apache的官方說明應該會更清楚。

以下直接以實例來說明,

Order Deny,Allow
Allow from All

以上設定代表的是:

  1. 先檢查禁止名單,若在名單內則禁止,除非在允許清單中有允許,而不在兩個名單內的,預設允許
  2. 允許設定:全部通過

要注意Order後面的順序是先Deny再Allow,也就是沒有檢查到有禁止設定的,就直接允許。第二句代表的即是第一句中所要檢查的"允許設定(Allow)",因為沒有任何的"禁止設定(Deny)",所以直接執行"允許設定"中的內容,

更多

步驟如下

  1. 建立一個分類項目的View(Taxonomy view)
  2. 格式選擇"HTML List" , 顯示則選擇"欄位"
  3. 設定關聯(relationship),選擇"Content with term"
  4. 增加欄位(field)─"分類項目:名稱"
  5. 增加欄位─"nid"
  6. 啟用聚合(aggregation)
  7. 變更欄位nid的聚合設定,改為"Count DISTINCT"

完成上述內容,就可以產生如下圖的標籤列表,括號中的數字即為該標籤的文章數。

 

接著就可以把Tag Cloud的特效加進去views了,以下收集了幾個我覺得不錯的標籤雲

jQCloud  awsomeCloud

更多

要開始運用.htaccess之前,一樣要記得要把這個功能啟用起來,啟用方法參考這一篇

啟用完成後,編輯.htaccess,並加入以下這一行

Options -Indexes

 

利用.htacces之前,必須先確定在apache的設定檔(/etc/apache2/httpd.conf)中找到一行設定值

AllowOverride All

若沒有則自行新增,如果有多台VirtualHost的話,則只要新增在需要此功能的VirtualHost即可,大概放在類似下面範例的位置。

<VirtualHost *:80>
  <Directory />
    AllowOverride All
  </Directory>
...
</VirtualHost>

記得改完設定值要重啟Apache

#ubuntu版本
sudo service apache2 restart

#centos版本
service httpd restart

接著在目錄底下新增.htaccess檔案,加入以下內容,

  RewriteEngine on
  RewriteCond %{HTTP_REFERER} !^http://yosia.biz/.*$ [NC]
更多

很多人都知道要查詢硬碟空間的使用狀況,可以用 df -h 來檢視

也知道要查詢目前所在目錄的大小,可以用 du -sh

而目前所在目錄下所有的檔案,包含子目錄、子子目錄...所佔的大小,則可以用 du -h

不過如果要知道目前目錄底下所有的子目錄,分別佔多少空間,就不知道該怎麼處理了

圖示說明一下:

current_dir
-sub_dir1
-sub_dir2
-sub_dir3

如果任何一個子目錄底下有許多子目錄、孫目錄...的話, du -h 就會全部都顯示出來,得出的資料就沒什麼幫助。這時候就需要一個比較少看到的指令 ─ xargs

這個指令的作用在於把前一個指令的輸出,轉為後面指令的參數

所以查詢所有第一階的子目錄的指令如下:

ls | xargs du -sh

解說:ls先輸出目前目錄下的所有目錄及檔案,再將這些目錄及檔案傳給du 作為參數,就可以取的所有子目錄及檔案的大小了。