現在我正在codeigniter中開發一個webshop項目。 最後會有多個關於子域名的網上商店,以及主域名的首頁。CodeIgniter中的mod_rewrite,subdomains和htaccess
它應該是動態的,以便網上商店獲得他們自己的子域名。 店鋪信息在數據庫中。可以說,我有一個MySQL表包含這樣的信息:
- 網上商店:鮑勃店
- webshop_subdomain:bobsshop
等。
現在在.htaccess文件中,我想制定一個重寫規則,以便bobsshop.mydomain.com將被重寫爲mydomain.com/bobsshop/,因爲我正在使用控制器在Codeigniter中工作。
你應該記住,在index.php也已經被改寫了,有也應該是讓子頁面像bobsshop.mydomain.com/contact/
我將讓PHP腳本的可能性,這將檢查在數據庫中存在的子域,如果它不存在,那麼訪問者就會看到一個404
我的DNS設置是這樣ATM:
- mydomain.com xxx.xxx.xxx .xxx
- * .mydomain.com xxx.xxx.xxx.xxx
其中xxx.xxx.xxx.xxx是我的服務器IP。
我真的從來沒有用過htaccess/mod_rewrite之前。 可以這樣做嗎?有沒有人可以幫助我做到這一點?
對不起,我的英文。我希望你明白我想要做什麼。
在此先感謝
似乎並不奏效。 當你進入子域時,它會成爲一個商店。 像a-shop.mydomain.com一樣。 現在不起作用。 如果我輸入a-shop.mydomain.com,它會顯示主頁,它顯示在mydomain.com上。 也許我應該提一下,a-shop是codeigniter中的一個動態控制器。 我的虛擬主機文件怎麼樣?我應該做些什麼嗎?那麼DNS呢?這是正確的嗎? – 2012-03-07 21:57:01
它仍然不起作用。 :/ – 2012-03-11 12:57:43
當你說動態控制器是什麼意思?上述.htaccess會將請求從a-shop.mydomain.com/foo/bar發送到mydomain.com/a-shop/foo/bar,這意味着a-shop是控制器,foo是方法,bar是參數1。你不需要觸摸你的虛擬主機或DNS設置,他們看起來很好。 – 2012-03-12 15:37:28