歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 26, 2024, 08:14:20 下午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  讓搜尋引擎易於搜尋的簡潔網址 « 上篇主題 下篇主題 »
頁: [1] 2
作者 主題: 讓搜尋引擎易於搜尋的簡潔網址  (閱讀 45121 次)
Aiwa
初級會員
**
文章: 52


檢視個人資料
« 於: 三月 01, 2005, 11:03:49 下午 »

這個部份我有些搞不懂。

從說明文字看起來,是不是如果我選了這個選項,那 blog 的網址就需要用到 .htaccess 裡的 RewriteRule 來設定呢?

我發現 .htaccess 裡的 Rule 跟實際上 Plog 1.0 用的簡潔網址差好多.....


RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]+)_[^.]+\.html$ index.php?op=ViewArticle&blogId=$1&articleId=$2 [L,NC]

我試的結果,好像要用
RewriteRule ^post/([0-9]+)/([0-9]+)$ index.php?op=ViewArticle&articleId=$2&blogId=$1 [L,NC]
才能正確的使用。

不過也有可能是我搞錯了....:P


我在這邊想問的是,在 resource 那邊,假設我上傳了一張名為 160.jpg 的圖檔,用一般網址的時候,網址是...
http://just-blog.net/index.php?op=ViewResource&blogId=1&resource=160.jpg

而當我用簡潔網址的時候,網址會變成
http://just-blog.net/resource/1/1

這....這要怎麼寫 RewriteRule 啊?檔名的相關資訊在簡潔網址完全看不出來....@_@
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #1 於: 三月 02, 2005, 12:04:30 上午 »

這部分可能要請 lss 或是 reic 來解釋了!因為我沒有用簡潔網址耶!這部分的運作他們比我熟。我也很好奇 ... 吐舌頭

Mark
已記錄

Aiwa
初級會員
**
文章: 52


檢視個人資料
« 回覆文章 #2 於: 三月 02, 2005, 08:47:07 上午 »

引用自: markwu
這部分可能要請 lss 或是 reic 來解釋了!因為我沒有用簡潔網址耶!這部分的運作他們比我熟。我也很好奇 ... 吐舌頭

Mark


我昨天有稍微研究一下.....我是用土法鍊鋼法學的....


RewriteRule ^post/([0-9]+)/([0-9]+)$ index.php?op=ViewArticle&articleId=$2&blogId=$1 [L,NC]

的意思就是說,碰到  post/數字/數字  的網址時,就轉換成 index.php?op=ViewArticle&articleId=$2&blogId=$1,其中,第一個數字代入 $1,第二個數字代入 $2



然後我把用一般網址時的網址抄下來,再換成簡潔網址,兩個相對應,就知道這邊的 Rule 該怎麼寫了。

可是在 resource 這邊踢到鐵板.....因為一般網址要傳檔名,可是簡潔網址裡面沒有檔名可以對應,所以我找不到方法可以轉....
已記錄
daniel
新手見習
*
文章: 8


檢視個人資料
« 回覆文章 #3 於: 三月 02, 2005, 09:44:00 上午 »

你想把什么网址转成什么?对于 rewriterule 我了解一点点。
已記錄
Aiwa
初級會員
**
文章: 52


檢視個人資料
« 回覆文章 #4 於: 三月 02, 2005, 07:22:08 下午 »

引用自: daniel
你想把什么网址转成什么?对于 rewriterule 我了解一点点。


Dear Daniel,
我想把 plog 裡的 resource 的網址轉換成簡潔網址。
http://just-blog.net/resource/1/1

變成
http://just-blog.net/index.php?op=ViewResource&blogId=1&resource=160.jpg

但好像不太可能,因為資訊不足。也許這個需要修改 plog 的簡潔網址的格式才辦得到......

Do you have any idea to do this ?
已記錄
reic
LifeType 中文發展團隊
初級會員
*****
文章: 57


檢視個人資料 個人網站
« 回覆文章 #5 於: 三月 03, 2005, 08:31:59 上午 »

引用自: Aiwa
這個部份我有些搞不懂。

從說明文字看起來,是不是如果我選了這個選項,那 blog 的網址就需要用到 .htaccess 裡的 RewriteRule 來設定呢?

我發現 .htaccess 裡的 Rule 跟實際上 Plog 1.0 用的簡潔網址差好多.....


RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]+)_[^.]+\.html$ index.php?op=ViewArticle&blogId=$1&articleId=$2 [L,NC]

我試的結果,好像要用
RewriteRule ^post/([0-9]+)/([0-9]+)$ index.php?op=ViewArticle&articleId=$2&blogId=$1 [L,NC]
才能正確的使用。

不過也有可能是我搞錯了....:P

你說的這個是簡潔網址嗎?
怎麼和我認知的不太一樣啊........
感覺起來和是在談 Apache Modrewrite 的這一個方法啊
已記錄

歡迎光臨 Reic's place
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #6 於: 三月 03, 2005, 10:50:51 上午 »

Hi Aiwa:

這個你用 mod_rewrite 絕對作不到。

因為

程式碼:
http://just-blog.net/index.php?op=ViewResource&blogId=1&resource=160.jpg 


要變成

程式碼:
http://just-blog.net/resource/1/1 


裡面有兩個東東是 mod_rewite 作不到的,就是 gallery id 跟 resource id,不是 resource name 喔。

所以只能用簡潔網址作。或是 custom url 來作。因為只有 pLog 瞭解 resource_id 跟 gallery_id 以及 resource_name 的對應。

Mark
已記錄

daniel
新手見習
*
文章: 8


檢視個人資料
« 回覆文章 #7 於: 三月 03, 2005, 11:54:27 上午 »

http://just-blog.net/resource/1/1 是不可能做到的。
除非是你能接受
http://just-blog.net/resource/1/160.jpg
这种格式的。
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #8 於: 三月 03, 2005, 11:58:16 上午 »

對對! Daniel 講的這個倒是可行。

Mark
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #9 於: 三月 03, 2005, 04:17:26 下午 »

hi all:

就我個人所認知的簡潔網址模式和mod_rewrite網址模式提出和大家討論一下。
簡潔網址模式:
這個模式是利用apache的pathinfo來完成的。
在pLog根目錄下有一些沒有副檔名的php程式檔,像
程式碼:
blog
post
comment
resource
get
rss
trackbacks
static

這幾個檔案實際上都是用來解析pathinfo的parser,再將由pathinfo解析出來的資訊寫入php的global變數裡面(好像是$_GET[],我忘了),再由主程式重新解析後,對應至一般網址模式用相同的方式生出頁面。
在.htaccess裡面的
程式碼:
<Files xxxx>
 ForceType application/x-httpd-php
</Files>

就是用來設定這些沒有副檔名的php程式用的。
要讓簡潔網址模式生效,apache必需有
程式碼:
AcceptPathInfo on

的設定值。這個設定值在很多server是預設值,但有的虛擬主機或自己compile的apache沒有包含它,在0.32時造成很多人無法(其實是不會,不知道)用簡潔網址。
我記得在官方論壇裡,有人提到Oscar會把這個設定加入.htaccess裡。不過好像沒看到?!

modrewrite 網址模式:
這個網址模式比簡潔網址模式好的地方在於使用更容易懂的資訊來表達文章的網址。要使用這個模式,apache要支援mod_rewrite模組,而.htaccess裡面的
程式碼:
<IfModule mod_rewrite.c>
# Permalink to the blog entry (i.e. /plog/1_blogfoo/archive/3_title-foo-bar.html)
RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]+)_[^.]+\.html$ index.php?op=ViewArticle&blogId=$1&articleId=$2 [L,NC]
......
</IfModule>

這些設定,則是用來讓apache將網址轉址成一般網址模式。
不過,想要在網址列顯示中文……我努力過了……

以上為個人對兩種網址模式運作方法的理解,若有錯誤,還請指教。
至於新的自訂網址模式還沒空玩。
近日天氣寒冷,我家兩個小孩先後因感冒轉肺炎而住院,又遇開學備課,plog1.0的測試與改良就空處理了,只好仰望各位努力了。望大家保重身體。
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #10 於: 三月 03, 2005, 04:24:55 下午 »

引用自: Aiwa
引用自: daniel
你想把什么网址转成什么?对于 rewriterule 我了解一点点。


Dear Daniel,
我想把 plog 裡的 resource 的網址轉換成簡潔網址。
http://just-blog.net/resource/1/1

變成
http://just-blog.net/index.php?op=ViewResource&blogId=1&resource=160.jpg

但好像不太可能,因為資訊不足。也許這個需要修改 plog 的簡潔網址的格式才辦得到......

Do you have any idea to do this ?

hi Aiwa:
程式碼:
http://just-blog.net/resource/1/1

這個已經是簡潔網址模式的資源顯示網址了。
從blog進資料夾裡的單一資源的顯示網頁時,對應到簡潔網址模式就是這個網址。
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
Aiwa
初級會員
**
文章: 52


檢視個人資料
« 回覆文章 #11 於: 三月 04, 2005, 08:25:50 上午 »

原來如此~~
我搞錯了,我以為簡潔網址模式要靠 .htaccess 裡的 rewriterule 來轉換網址。  吐舌頭

現在觀念清楚多了~~我再試試看,謝謝大家的幫忙...

Aiwa
已記錄
Aiwa
初級會員
**
文章: 52


檢視個人資料
« 回覆文章 #12 於: 三月 04, 2005, 08:50:03 上午 »

唔~~還是有疑問....

當我用簡潔網址的時候,我的主頁面網址會是

http://just-blog.net/1

但是我在

程式碼:
<Files post>
 ForceType application/x-httpd-php
</Files>

<Files archives>
 ForceType application/x-httpd-php
</Files>

<Files static>
 ForceType application/x-httpd-php
</Files>

<Files rss>
 ForceType application/x-httpd-php
</Files>

<Files category>
 ForceType application/x-httpd-php
</Files>

<Files trackbacks>
 ForceType application/x-httpd-php
</Files>

<Files comment>
 ForceType application/x-httpd-php
</Files>

<Files resource>
 ForceType application/x-httpd-php
</Files>

<Files get>
 ForceType application/x-httpd-php
</Files>

<Files album>
 ForceType application/x-httpd-php
</Files>

<Files blog>
 ForceType application/x-httpd-php
</Files>


看不到相對應的 rule。請問這該怎麼解決呢?是不是我的 blog 產生的簡潔網址不正確呀?

另外,當我點了文章匯整的 link ,像 三月份的匯整,網址是...
http://just-blog.net/archives/1/200503

會出現像
Exception message: fopen(tmp/plog.log): failed to open stream: Permission denied
Exception message: Cannot open log file: tmp/plog.log
的錯誤,這是不是因為我沒有 tmp 這個檔案的對應?

這該如何解決呢?
已記錄
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #13 於: 三月 04, 2005, 10:33:37 上午 »

引用自: Aiwa
唔~~還是有疑問....

當我用簡潔網址的時候,我的主頁面網址會是

http://just-blog.net/1

但是我在

程式碼:
<Files xxxx>
 ForceType application/x-httpd-php
</Files>
....


看不到相對應的 rule。請問這該怎麼解決呢?是不是我的 blog 產生的簡潔網址不正確呀?

Hi Aiwa:
這真是個好問題。
我之前從沒去想過這個問題,於是又研究了一下。
在.htaccess裡,最底下有三行
程式碼:
ErrorDocument 401 /plog/error.php
ErrorDocument 403 /plog/error.php
ErrorDocument 404 /plog/error.php

主頁面的網址沒有對應的<File xxxx>設定,所以會產生404錯誤,就由這幾行轉址給error.php處理,再由error.php依據pathinfo來解析blogId,然後產生該blog的首頁。關於這點,研究一下error.php就知道了。
真是想不到,ErrorDocument還可以這樣用。實在佩服Oscar。

引用自: Aiwa

另外,當我點了文章匯整的 link ,像 三月份的匯整,網址是...
http://just-blog.net/archives/1/200503

會出現像
Exception message: fopen(tmp/plog.log): failed to open stream: Permission denied
Exception message: Cannot open log file: tmp/plog.log
的錯誤,這是不是因為我沒有 tmp 這個檔案的對應?

這該如何解決呢?

這個問題好像跟這個一樣?
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
Anonymous
訪客
« 回覆文章 #14 於: 三月 04, 2005, 01:15:17 下午 »

赫赫,我从这篇文章中学到很多东西
已記錄
頁: [1] 2
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  讓搜尋引擎易於搜尋的簡潔網址 « 上篇主題 下篇主題 »
    前往: