ISAPI_Rewrite 权限问题 设置多站点的关键

写的简单点

  1. 使用支持多站点的ISAPI_Rewrite
  2. ISAPI_Rewrite所在目录IIS_WGP组的读写权限
  3. 还有就是给网站目露录下的httpd.ini也加上权限
  4. 还不行我也不知道了

Drupal在IIS下的Rewrite

虽然还没应用~但还是先找了资料.

Drupal在IIS下用ISAPI Rewrite实现Clean URLs的简单配置

如果你的WEB服务器采用的是IIS而不是Apache的话,要实现Clean URLS,那么你就需要下载一个叫ISAPI Rewrite的东西。ISAPI Rewreit可以从http://writeblog.csdn.net/网站下载。

ISAPI Rewrite有两个版本,ISAPI_Rewrite 3 Full installatio和ISAPI_Rewrite 3 Lite installation。

ISAPI_Rewrite 3 Lite installation 是免费的,用这个就可以了。

安装好后,在安装目录下设置httpd.ini文件。免费的ISAPI Rwrite只能在安装目录下进行全局设置,收费版的可以将httpd.ini文件拷贝到单独的虚拟主机目录下进行单独的设置。

Drupal的简单设置:

# Accept a url with the following directories and pass them through unchanged.
RewriteRule /(?:misc|files|modules|themes|sites|uploads)/(.*) $0 [I,L]

# Make URLs sane
RewriteRule /cron\.php $0 [I,L]
RewriteRule /index\.php.* $0 [I,L]
RewriteRule /update\.php.* $0 [I,L]
RewriteRule /xmlrpc\.php $0 [I,L]

# deactivate following line if “robotstxt” module is installed
#RewriteRule /robots\.txt.* $0 [I,L]

RewriteRule /(.*)\?(.*) /index.php\?q=$1&$2 [I,L]
RewriteRule /(.*) /index.php\?q=$1 [I,L]

 

Drupal Rewrite for IIS 规则

 

Debug 0
Reload 5000
#Browse LOT
#RewriteRule ^/(.*) /index.php
RewriteRule ^/index.php\?q\=(.*)$ /index.php?q=$1 [l]
RewriteRule ^/themes/(.*)$ /themes/$1 [l]
RewriteRule ^/misc/(.*)$ /misc/$1 [l]
RewriteRule ^/css/(.*)$ /css/$1 [l]
RewriteRule ^/files/(.*)$ /files/$1 [l]
RewriteRule ^/images/(.*)$ /images/$1 [l]

# for modules that provide their own js (tinymce,img assist etc)
RewriteRule ^(.*\.js)$ $1 [l]
RewriteRule ^(.*\.gif)$ $1 [l]
RewriteRule ^(.*\.png)$ $1 [l]
RewriteRule ^/modules/tinymce/(.*)$ /modules/tinymce/$1 [l]

# stand-alone
RewriteRule ^/cron.php$ /cron.php [l]

# Handle query strings on the end
RewriteRule ^/(.*)\?(.*)$ /index.php?q=$1&$2 [l]

# now pass through to the generic handler.
RewriteRule ^/(.*)$ /index.php?q=$1 [l]

# Accept a url with the following directories and pass them through unchanged.
RewriteRule /(?:misc|files|modules|themes|sites|uploads)/(.*) $0 [I,L]

# Make URLs sane
RewriteRule /cron\.php $0 [I,L]
RewriteRule /index\.php.* $0 [I,L]
RewriteRule /update\.php.* $0 [I,L]
RewriteRule /xmlrpc\.php $0 [I,L]

# deactivate following line if “robotstxt” module is installed
#RewriteRule /robots\.txt.* $0 [I,L]

RewriteRule /(.*)\?(.*) /index.php\?q=$1&$2 [I,L]
RewriteRule /(.*) /index.php\?q=$1 [I,L]

修改sites/default/目录下的settings.php中的$conf['clean_url'] = 1

 

ISAPI_Rewrite 0053 特别版

什麼是cck

cck 貴為Drupal 的必殺模組
所有踏入cck 大門的初學者都要千辛萬苦的打開這大門
那, 讓我借你鑰匙, 輕鬆的打開它吧

假如你有物件導向編程的概念
這一切都很相似
content type 是 object prototype
cck 定義 content type
node 是 object instance

如無, 不打緊, 這篇就是為了沒有概念的人寫的

首先要知道什麼是content type
content type 是內容類型
當描述一個物件, 以鉛筆為例, 鉛筆有一個長度, 硬度(HB, 2B, 2H…), 牌子, 價錢, 生產地….
但Drupal 內建的story 只可以記錄標題, 描述, 我們想要新增一個”內容類型”
放下很多種不同鉛筆的資料, 你便需要cck 了

使用cck, 新建一種”內容類型”
你可以編輯它, 在tabs 可以”增加欄位”了
cck 模組也跟著有一些text, integer 模組, 將它們安裝之後
你便可以新一些text 欄到你自建的內容類型
可以放”牌子”, “生產地”
但價錢只是一些數字, 所以要使用integers 欄
你也可以下載url 欄, 放鉛筆生產商的網站
或者下載date 欄, 放它的生產日期等等

你可以建立另一個內容類型,
名為”人類”, 它可以有一個email 欄, 地址欄
完全和”鉛筆”不同, 這要看你自己的網站的需要了

設定好content type 之後
就可以到”create content” 之內創造node 了
node 就是content type 的一個實例
一個content type 會有很多實例
“人類”這個content type 單是中國就有13 億個實例(node)
而真正要記錄的, 是13 億例子, 而非”人類”這個內容類型

只要記得content type 和 node 的關係
再記得cck 是自定義content type 時用的就可以了

到此, cck 的core 部份介紹完

什麼是 views

Drupal 的另一個殺手級工具: views
相比cck, views 的概念簡單得多
但使用複雜得多

一個Drupal 的site,
由很多很多nodes 組成
但很多時候, 一個頁面總不會只有一個node
例如首頁, 當然要有列表列出最新的nodes
將nodes 用某條件 (如更新順序排列) 組織起來就是views 的工作
但組織nodes 的方法何其多
而且views 又不知何, 放了一隻腳到顯示的控制之內
令views 的介面複雜起來
成為Drupal 之內最複雜的模組

一個view 內分
page, block, fields, arguments, filter, exposed filters, sorting
六個大分類
前三個和顯示相關
後四個是組織nodes 的方式
因為顯示和控制混在一起
設定views 便得小心點

先處理好控制
再處理顯示

arguments, filter, exposed filters, sorting 是一組用邏輯 AND (”和”) 串成的選擇
例如有node 1到10
argument 只選1到6
filter 選3到9
exposed filter 選 4到7
最後的結果便只有 4到6 這三個node

arguments 是一個利用url 選擇node 的方式
例如 node/1
這個網址path 有個”1″ 指定了只顯示node id 為”1″ 的node
這種選擇的方式稱為arguments
(但這個例子是由drupal 內核提供, 非views)
又例如你可以設定 url 為 year/2007
便會選擇更新日期為2007 年的nodes
你可以看成是一個條件, 而這個條件是由url path 提供的

filter, 顧名思義
一個內建的選擇器
一般會有一個filter “己發佈” 的要求
令選出來的都是”己發佈” 的node
或可以限制taxonomy terms 在某一或某幾個terms 之內
做出一個”教學專用頁”, “日記專用頁”等等

exposed filter
從filter 的選擇器中
選出一個或多個filter
將選擇用select list 的形式 開放給使用者自行篩選

sorting
怎樣將結果排序
更新時間順序? 逆序?
id?

完成好控制後
決定你的結果怎樣顯示
頁面形式或作一區塊都可以
分別設定page 或(和)block
它們都有一個select list, 有full node, teaser view, list view, table 選擇
就是這部份混合了顯示方式
full node, 使用那node 的content-type template顯示 (如有)
teaser view, 使用views theme wizard 的teaser template (如有)
list view, 一個簡單的列表(unordered list), 使用views theme wizard 的template (如有)
table view, 也很直觀
要留意的是table, list view 是要選擇要顯示的fields
只選了id 就只會有id 欄

有關views 的顯示部分, 特別是templates
因為複雜得多,
不能放到”初始”一類, 所以另文再詳述

Joomla 1.53 jos_content表结构

jos_content表结构:

id                  //文章编号  
title               //标题
alias               //别名 生成自定义url时候的重要字段
title_alias         //没在程序中看到用途
introtext           //简介
fulltext            //正文
state               //状态 文章正常发布的状态值为1
sectionid           //文章所属的section 编号
mask                //没仔细看过,等高手补充吧
catid               //文章所属的category 编号
created             //创建时间
created_by          //作者编号
created_by_alias    //作者别称
modified            //修改时间
modified_by         //修改人
checked_out         //正在编辑的帐号编号,文章正常发布状态为0
checked_out_time    //文章进入被编辑或者修改状态开始的时间
publish_up          //发布开始的时间
publish_down        //发布结束时间
images              //图片
urls                //链接
attribs             //属性
version             //版本
parentid            //父节点
ordering            //排序
metakey             //meta keywords
metadesc            //meta desc
access              //读写权限
hits                //点击数
metadata            //meta data