2013-12-10 78 views
0

我在笨以下路線:笨沒有找到URL拋出的404

$route['register/new/user/from=(:any)'] = "auth/user/register/index/$1"; 
$route['default_controller'] = "defaultcontroller"; 
$route['404_override'] = ''; 

而且我在我的控制器文件夾層次結構:

auth 
    |-------admin 
    |-------member 
    |-------user 
      |----register.php 
      |----tester.php 

當我嘗試訪問http://host/index.php/auth/user/register/index/http://host/index.php/register/new/user/from=www.google.com它拋出404找不到錯誤。

我該怎麼辦?

回答

0

你的URL格式本身有問題;你應該正常化你的URL。

http://en.wikipedia.org/wiki/URL_normalization

你不能在一個標準化的URL在使用等於「=」符號。

您可以在查詢字符串中使用「=」符號。

所以不是

http://host/index.php/register/new/user/from=www.google.com 

(正確/不歸)

嘗試:

http://host/index.php/register/new/user/?from=www.google.com 

(更正:查詢字符串)

或者:

http://host/index.php/register/new/user/from%3Dwww.google.com 

(正確的,但不建議:URI編碼字符串)

或者:

http://host/index.php/register/new/user/from/www.google.com 

(更正:單獨的段)

您可以捕獲最後一個與

$route['register/new/user/from/(:any)'] = "auth/user/register/index/$1"; 
4

如果您的代碼位於索引方法內,則可以使用此行代碼:

$ route ['register/new/user/from /:any'] =「auth/user/register/index/$ 1」;

,則應該更換AUTH /用戶/註冊/索引/ $ 1寄存器/新/用戶/從/:任何寄存器/新/用戶/:任何和使用段( 4)