LifeType 中文開發論壇

測試 => LifeType 1.0 測試 => 主題作者是: Raymond 於 三月 28, 2005, 09:42:43 上午



主題: subdomains 的問題
作者: Raymond三月 28, 2005, 09:42:43 上午
假設 plog 是安裝在 /usr/local/www/data/plog

那麼 base_url 就是 http://www.xxx.com/plog

subdomains_base_url 就是:
http://{username}.xxx.com/plog 或
http://{username}.xxx.com

問題是,如果只有一個 IP Address,
如何保存 www.xxx.com 的網頁? (假設那與 plog 一點關係也沒有)

依據 Apache 的文件,要用 NameVirtualHost:
NameVirtualHost x.x.x.x:80
<VirtualHost x.x.x.x:80>
ServerName www.xxx.com
DocumentRoot /usr/local/www/data
</VirtualHost>
<VirtualHost *:80>
ServerName plog.xxx.com
ServerAlias *.xxx.com
DocumentRoot /usr/local/www/data/plog
</VirutalHost>

但實際上會碰到 blogaction.class.php 中:
            // security checks...
            if( $this->_blogInfo == false ) {
                print( 'ERROR: The blog does not exist.' );
                die;
            }

稍為看了一下其他相關的 code,大概的問題應該是 redirection 以後,
PHP 取得的網址就回到 www 而不是 subdomain 的 {username} 參數.
另外,網址是否有 結束的 "/" (如 http://{username}.xxx.com/ <-- 最後一個 /) 亦會影響到是否能正常取得 {username} 參數。

建議有這種 error 的話直接將使用者送到 blogID=1 (或自行設定),或 summary.php?
以後慢慢再想有沒有其他解決的方式。


主題: subdomains 的問題
作者: markwu三月 28, 2005, 05:49:31 下午
mmm ..... 應該是可行的。

我想這可以在 admiin setting 中增加 www.xxx.com 的相對應轉址。這樣比較方便設定。

例如

www.xxx.com 有啟動 subdomain 時轉到 www.xxx.com/summary.php 或是 blogid=1

不過,如果要轉到 summary.php,那麼應該可以直接把下面這一行加入 .htaceess 阿?

引用
DirectoryIndex summary.php


Raymond:

可以請你試試,看可不可行阿?這樣會比改程式簡單。

Mark


主題: subdomains 的問題
作者: cody三月 28, 2005, 11:08:07 下午
WWW 本來就是 sub domain
真正的網址是沒有  WWW 的
為什麼一堆人把 www 當作網址的一部份 @.@


主題: subdomains 的問題
作者: Raymond三月 29, 2005, 01:22:18 上午
我想正確的說法應該是:在 admin setting 中增加找不到 blog 時的處理方式:
1> 指定 summary.php 的位置
2> 用 blogId=1 (不過 blogId=1 是不是一定存在也是一個疑問)

現在找不到 blog 就用 die 裝死就想混過去啊?   8o|

***

然後還有人連 hostname 與 subdomain 都還分不清楚...
也難怪程式分不出來... J/K...

不過這也提醒我們要測的話確實要看看含有個 "." 的 {username} 是否會有問題。


主題: subdomains 的問題
作者: markwu三月 29, 2005, 08:34:24 上午
Hi Raymond:

1. summary.php 的設定,目前必須手動。因為要改.htaccess。你試成功了嗎?
2. 呵呵!找不到,並沒有裝死阿?至少還回你 blog 不存在。

Sub domain 跟 hostname,我想這是習慣用法(錯了就變成對的)。大部分的人(對架站不熟的人)一定會認為 www 是正常網址的一部份。至少我開始學之前就是這樣認為,慢慢有人告訴我才知道。

謝謝你們的提醒。

Mark


主題: subdomains 的問題
作者: winman三月 29, 2005, 03:57:25 下午
引用自: markwu
Hi Raymond:

1. summary.php 的設定,目前必須手動。因為要改.htaccess。你試成功了嗎?
2. 呵呵!找不到,並沒有裝死阿?至少還回你 blog 不存在。

Sub domain 跟 hostname,我想這是習慣用法(錯了就變成對的)。大部分的人(對架站不熟的人)一定會認為 www 是正常網址的一部份。至少我開始學之前就是這樣認為,慢慢有人告訴我才知道。

謝謝你們的提醒。

Mark

我現在的情況是已經修改了.htaccess了,一進入網站的時候是進入到summary.php
但現在的問題是我反覆試驗了多次,要麼用 xxx.com 可以進入 summary.php 而
www.xxx.com 就進入最後註冊的blog,要麼就是 www.xxx.com 進入summary.php
而且 xxx.com 就進入最後註冊的blog.

TO :Markwu 我們搞技術的當然知道domains 直接打 xxx.com 就可以了,但很大
部分人都是以為 www.xxx.com 才是完整訪問網站的方法(這已經是約定成俗的了),
因此我建議plog是否能在程式裡加入檢查 www , ftp, mail, forum , 這幾個最為常用
的subdomains 的檢查代碼第一是不允許用戶註冊這幾個用戶,第二是可以設定檢查到有人輸入這幾個subdomains 時的動作,比如跳轉到 summary.php.


主題: subdomains 的問題
作者: cody三月 29, 2005, 07:46:45 下午
應該說,讓 blog 後台有一個禁止註冊的 ID
讓這些 ID 都導向首頁
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
要如何讓 hostname  subdomain  導向哪
除了 .htaccess 可以判斷以外
從 apache 裡面的 VirtualHost 也可以強迫讀哪個檔


主題: subdomains 的問題
作者: markwu三月 30, 2005, 11:32:09 上午
Hi Cody & Raymond:

謝謝!這個真的是好建議。應該加上。這樣就更實用了!

如果可以,可以請你們到 bugs.world.net 去 report 這個 feature request 嗎?

Mark


主題: subdomains 的問題
作者: markwu三月 30, 2005, 03:57:08 下午
被 Oscar 嘲笑了!他說我們已經有 forbidden user name ... 在 global setting 中,我們怎麼沒注意到呢?sigh .... 真是  :-$  丟臉阿!我得再用功一些了。

Mark


主題: subdomains 的問題
作者: Raymond三月 30, 2005, 04:25:16 下午
那你還要被我嘲笑一次... LOL...   (H)

/etc/hostname

DNS 上說這個 IP 的 domain name

Apache 的 httpd.conf 中設定的 ServerName 及 ServerAlias

是三件不同的事。

就是因為這樣,如果我要 www.xxx.com display:
http://www.xxx.com/index.php
但加上 subdomain 後就不會 work..

詳細自己看 note...


主題: Re: subdomains 的問題
作者: Anonymous三月 31, 2005, 03:55:46 下午
引用自: Raymond
NameVirtualHost x.x.x.x:80
<VirtualHost x.x.x.x:80>
ServerName www.xxx.com
DocumentRoot /usr/local/www/data
</VirtualHost>
<VirtualHost *:80>
ServerName plog.xxx.com
ServerAlias *.xxx.com
DocumentRoot /usr/local/www/data/plog
</VirutalHost>



我認為是這個地方設定錯誤
ServerAlias *.xxx.com <==這裡
應該設定為
ServerAlias *.plog.xxx.com

這樣才不會跟其他的domain(例如: www.xxx.com)相衝突


主題: Re: subdomains 的問題
作者: windtalk三月 31, 2005, 03:59:18 下午
Sorry!!剛忘了登入

引用自: Raymond
NameVirtualHost x.x.x.x:80
<VirtualHost x.x.x.x:80>
ServerName www.xxx.com
DocumentRoot /usr/local/www/data
</VirtualHost>
<VirtualHost *:80>
ServerName plog.xxx.com
ServerAlias *.xxx.com
DocumentRoot /usr/local/www/data/plog
</VirutalHost>



我認為是這個地方設定錯誤
ServerAlias *.xxx.com <==這裡
應該設定為
ServerAlias *.plog.xxx.com

這樣才不會跟其他的domain(例如: www.xxx.com)相衝突

dns的設定部分也要相對更改

plog             IN         A            xx.xx.xx.xx
*.plog          IN         A            xx.xx.xx.xx


主題: Re: subdomains 的問題
作者: winman三月 31, 2005, 04:17:10 下午
引用自: windtalk
Sorry!!剛忘了登入


我認為是這個地方設定錯誤
ServerAlias *.xxx.com <==這裡
應該設定為
ServerAlias *.plog.xxx.com

這樣才不會跟其他的domain(例如: www.xxx.com)相衝突

dns的設定部分也要相對更改

plog             IN         A            xx.xx.xx.xx
*.plog          IN         A            xx.xx.xx.xx



但如果有朋友自己的站直接架設plog應用,而不希望使用blog.xxx.com 這樣的
形式時,那麼是一定會出現問題的.


主題: subdomains 的問題
作者: tripc四月 02, 2005, 12:00:47 下午
引用自: markwu
mmm ..... 應該是可行的。

我想這可以在 admiin setting 中增加 www.xxx.com 的相對應轉址。這樣比較方便設定。

例如

www.xxx.com 有啟動 subdomain 時轉到 www.xxx.com/summary.php 或是 blogid=1

不過,如果要轉到 summary.php,那麼應該可以直接把下面這一行加入 .htaceess 阿?

引用
DirectoryIndex summary.php


Raymond:

可以請你試試,看可不可行阿?這樣會比改程式簡單。

Mark


因為1.0已經定稿了, 我自己去改了一下程式碼, 你參考看看, 要不要自己改

1. 在 class/action/blogaction.php裡, 大概是184行的地方
2. MARK掉兩行錯誤訊息及掛掉的指令, 改成以下的2行
           $baseURL = $config->getValue( "base_url" );
           header("Location:http://$baseURL/summary.php");

這樣子就會自動轉到 summary.php了, 如果要轉到那裡去, 把summary.php改掉就成了。

方法雖然有點暴力, 但也無可奈何。


主題: subdomains 的問題
作者: Raymond四月 02, 2005, 10:52:55 下午
拜託一下,我改的方法也差不多,但至少還有給個理由...  (6)  
大概就是這樣:

$baseURL = $config->getValue("base_url");
header("HTTP/1.1 303 REDIRECT");
header("Location: http://$baseURL/summary.php");
exit();

HTTP/1.0 302 也可以,而且以防萬一應該還是要有 exit() ...
這樣就不用裝死...  :-D

引用

1. 在 class/action/blogaction.php裡, 大概是184行的地方
2. MARK掉兩行錯誤訊息及掛掉的指令, 改成以下的2行
$baseURL = $config->getValue( "base_url" );
header("Location:http://$baseURL/summary.php");

這樣子就會自動轉到 summary.php了, 如果要轉到那裡去, 把summary.php改掉就成了。


主題: subdomains 的問題
作者: markwu四月 03, 2005, 12:17:42 上午
Hi Raymond & tripc:

這方法不錯!呵呵!這樣當有問題時就會跳到 summary.php。你們 要不要跟 Oscar 建議一下阿!這一次應該不會被笑了。

另外, Raymond...你超愛用惡魔的臉  (6)  耶!

Mark