什麼是routes.php
在codeigniter
中的作用?什麼是codeigniter中的routes.php
我的老師是教它說,如果你不使用航線,如例如您的意見將無法正常工作:
$route['blabla'] = ['blabla/blabla'];
和關於它的一切!
但對我來說,它的工作沒有使用任何路線。我不知道爲什麼我們應該使用路線。這只是浪費時間。誰能解釋一下?
什麼是routes.php
在codeigniter
中的作用?什麼是codeigniter中的routes.php
我的老師是教它說,如果你不使用航線,如例如您的意見將無法正常工作:
$route['blabla'] = ['blabla/blabla'];
和關於它的一切!
但對我來說,它的工作沒有使用任何路線。我不知道爲什麼我們應該使用路線。這只是浪費時間。誰能解釋一下?
在CI代碼將運行沒有routes.php。 routes.php文件都使用自定義URL /路由一樣,如果你有喜歡的網址
example.com/pages/about_us
其中「網頁」是你的控制器和「about_us」的方法是在控制,如果你想顯示無控制器網址像example.com/about_us
,那麼你就需要這樣
$route['about_us'] = ['pages/about_us'];
路由在大特色笨其中一個用於用戶友好的URL和搜索引擎友好的谷歌搜索使用routes.php文件。
是什麼意思: 如果有用戶搜索您的網站的任何產品,因此URL將 www.domain.in/categalog/Deskstop-Intel-124343
現在,在這種情況下,網址是用戶友好如何解釋它保持在路由。
每次URL被hitted控制流程以routes
和從routes
要controller
$route['product/(:any)'] = 'catalog/product_lookup';
現在categlog/product_lookup被解釋爲商品/任何手段有一個控制器Product
其接受ID /文本作爲輸入。
這與根據我們的要求製作用戶定義的網址一樣簡單。
在codeigniter中,PHP文件以不同的方式提供,而不是直接從瀏覽器訪問PHP文件。這個過程被稱爲路由。
我們的代碼無效改寫 routes.php中的網址。
我們都希望以更方便的方式顯示我們的網頁,以便它對訪問者(當然也是搜索引擎)更有意義。比如,只需在瀏覽器地址欄中查看網址,即可簡要了解網頁包含的內容。如果我們繼續這樣,因爲它是一個什麼樣的方式可以通過服務器腳本(PHP,Asp.NET等)可以理解,像下面這樣應該沒有太大的實現我們的目標:
http://yourdomain.com?p=1
http://yourdomain.com?p=2
http://yourdomain.com?w=30
http://yourdomain.com?z=234
//etc......
從上面的鏈接,沒有辦法理解這些網頁的內容。現在,如果有人像如下:
http://codesamplez.com/database/codeigniter-activerecord
http://codesamplez.com/programming/regular-expressions-in-php
這些都是有意義得多,我們可以從只看到URL的簡單說明。此外,搜索引擎提供了較早期的網址,一些更多的價值,這就是爲什麼他們被稱爲「搜索引擎友好的URL」。所以,無論您選擇什麼原因,始終使用SEO友好的網址總是更好。好的,現在,我們決定讓我們的網站更適合SE/visitor,並希望使用這些網址。現在,我們應該如何開發我們的應用程序來將這個url映射到原始請求處理程序腳本?
URL重寫/路由實際上是此搜索引擎友好的URL轉換爲格式,服務器代碼可以很容易地理解技術/驅動器到其對應的請求處理程序腳本的請求。
笨具有用戶友好的URI路由系統,讓您可以輕鬆地重新路由URL。通常,URL字符串與其相應的控制器類/方法之間存在一對一的關係。在一個URI的分段通常遵循此模式 -
your-domain.com/class/method/id/
在某些情況下,你可能需要更改這個默認的路由機制。 CodeIgniter提供了可以設置自己的路由規則的工具。
有一個特定的文件,你可以處理所有這些。該文件位於application/config/routes.php(你已經知道)。您將找到一個名爲$ route的數組,您可以在其中自定義您的路由規則。 $ route數組中的鍵將決定要路由的內容,並且該值將決定路由的位置。 CodeIgniter中有三條保留路由。
$路線[「default_controller」]
這條路線指示哪個控制器類應加載,如果URI不包含任何數據,這將是當人們加載你的根URL的情況。鼓勵您使用默認路由,否則默認情況下會出現404頁面。我們可以在這裏設置網站的主頁,因此它會默認加載。
$路線[「404_override」]
此路線指示哪個控制器類如果沒有找到所請求的控制器應該被加載。它將覆蓋默認的404錯誤頁面。這不會影響到the show_404()
功能,這將繼續加載默認error_404.php
文件中application/views/errors/error_404.php.
$路線[「translate_uri_dashes」]
由布爾值可以明顯看出,這是不完全的路由。該選項使您能夠自動替換控制器中的下劃線和方法URI段的破折號(' - '),從而在需要時爲您節省額外的路由條目。這是必需的,因爲破折號不是有效的類或方法名字符,並且如果嘗試使用它將導致致命錯誤。
良好的工作..... – chhameed
@chhameed感謝的人:d – NID
你好比拉爾,我想知道爲什麼哥倫比亞大學的CodeIgniter網站沒有采用你的解釋! :-)但是,請從視圖/控制器的角度來看,以一個實用的例子來實現它。因此,「視圖」子視圖是「viewone」,「viewtwo」,「viewthree」和控制器是「Viewone」「Viewtwo」「Viewthree」和viewone/two/three內部,我們有這些相應的頁面「viewone/two/three」+「additem」和+「deleteitem」和「列表」。我無法捕捉到正確的路線.php設置和原則。應該一切都在主index.php或什麼?以及如何配置它?請添加它。 – Robert