我有一個房地產網站,在笨我的鏈接名稱是:笨更改URL路由
htp://examplesite(dot)com/property/31/en/property_title
我想取代它:
htp://examplesite(dot)com/my-custom-slug.htm
或
htp://examplesite(dot)com/property_title
兩種方式都可以。我的路線是:
$route['default_controller'] = "frontend";
$route['404_override'] = 'frontend';
/* Custom routing */
$route['admin'] = 'admin/dashboard';
//$route['secret'] = 'admin/dashboard';
// To change property->listing in uri
$route['listing/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['listing/(:num)/(:any)'] = "property/$1/$2";
這種情況下最好的方法是什麼?
我知道有一個可能的解決方案是:
添加
$配置[ 'listing_uri'] = '上市';
不是增加:
在 '應用程序\設置\ routes.php文件'
後:
$route['listing/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['listing/(:num)/(:any)'] = "property/$1/$2";
添加也:
$route['changed/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['changed/(:num)/(:any)'] = "property/$1/$2";
,但有什麼辦法刪除'上市',只看到乾淨的網址(爲了更好的SEO目的)??
我只是寫了同樣的東西,但後來你發佈在我面前:-) – cartalot
我知道有一個解決方案來添加:$ config ['listing_uri'] ='listing';比添加$ route ['changed /(:num)/(:any)/(:any)'] =「property/$ 1/$ 2/$ 3」; $ route ['changed /(:num)/(:any)'] =「property/$ 1/$ 2」;但我想刪除列表,並只看到examplesite(dot)com/custom_slug.htm有沒有什麼辦法? – Fuente
我不確定我是否理解你的意思,你能否詳細說明一下?您可以使用上面提到的解決方案而不使用列表部分,如果您有任何其他特定路由,只需在配置文件的此路由之前添加它即可,因爲codeigniter會自上而下地解釋它。這個問題是你假設你的域名是一個有效的上市後,所以你的驗證只需要聲音,並顯示404,如果上市不存在 – peanut