2012-07-06 108 views
0

我使用HMVC創建一個註冊頁面: - 在URL現在我打字: - http://localhost/CI/index.php/user/registration更改URL方案

用戶模塊名稱

控制器: - registration.php的

<?php 
class Registration extends MX_Controller{ 
    function index() { 
     $this->load->view('homepage'); 
    } 

    function register(){ 
     $this->load->view('registrationPage'); 
    } 
} 
?> 

視圖: - homepage.php

<html> 
<body> 
    <a href="registration/register">register</a> 
</body> 
</html> 

的問題是,在我的網址我必須輸入http://localhost/CI/index.php/user/registration/register來登記頁面。

我想要http://localhost/CI/index.php/user/register我們該怎麼做。 設置base_url不工作,並且設置路由ia也不起作用。 這是可能去任何頁面沒有在URL中給模塊名稱..?

+0

只是改變你的'錨tag'到 register :-) – Vimalnath 2012-07-06 06:36:52

+0

沒有好友.. :(它說找不到網頁..... – avinashse 2012-07-06 06:48:44

+0

你能告訴我是什麼網址顯示當你'頁面不found' – Vimalnath 2012-07-06 06:49:50

回答

0

的您應該通過在您的主機文件中添加一個條目來爲您的網站創建一個適當的URL。例如:

127.0.0.1 http://mysitename

127.0.0.1 http://localhost.mysitename

谷歌了怎麼設置apache的虛擬主機。你應該能夠找到很多關於這方面的文章。現在編輯你的apache配置來啓用虛擬主機。啓用此功能後,您將爲您的站點創建一個虛擬主機條目。虛擬主機告訴Apache將您選擇的URL映射到項目文件的特定目錄路徑。 (這樣,實際的目錄路徑不是你的URL的一部分。)

接下來,你應該編輯你的.htaccess,這樣請求總是通過index.php前端控制器路由。完成此操作後,您不必使用「/index.php/」作爲每個URL的一部分。請閱讀Code Igniter用戶指南中名爲Code Igniter URL的部分。它有示例.htaccess配置。此外,它還解釋了代碼點火器URL的工作原理。

爲了讓CI與虛擬主機一起工作,您必須在CI配置文件中設置基本URL以匹配v主機URL。

一旦你完成了所有這些,你將需要重新啓動apache。

現在你可以根據你想要的URL結構來命名你的控制器和方法。在這種情況下,一個控制器用一個名爲register的方法調用user.php。

+0

嗯感謝您的答覆......但我在codeigniter中使用hmvc,並且用戶是我的模塊名稱控制器名稱是註冊,funciton是註冊..我在url中得到的是:''../ index.php/module_name/controller_name/controller_function'。我只想'../ index.php/controller_name/controller_function'不包含模塊名稱..有沒有辦法做到這一點..? – avinashse 2012-07-06 07:58:41

+0

你能告訴我什麼是篝火嗎? – avinashse 2012-07-06 13:30:48

2

編輯您config文件夾

$route['user/register'] = 'user/registration/register'; 
+0

@Ali是正確的。使用routes.php,而不是.htaccess – 2012-07-06 10:05:16

+0

我做了那件事,但它不工作,當我點擊homepage.php \ – avinashse 2012-07-06 10:27:59

+0

的註冊鏈接,如果您的註冊鏈接是這樣的'register '改變'$ route ['registration /註冊'] ='用戶/註冊/註冊';' – 2012-07-06 10:30:11

0

是它在你的項目中使用HMVC必須下routes.php文件?否則,去簡單的Codeigniter方式,因爲這是你在這種情況下期望的。

+0

hmmm ... hmvc將分離每個模塊..它可以用一個簡單的codeigniter來完成,但是我不能創建不同的modules..so我使用HMVC] – avinashse 2012-07-06 12:52:57