主題: 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 |