嘿伙计们我已经开发了一个按城市和州分组的学校数据库,但我在路线之前写了一些字。
所以现在每个网址都来自x.com/cities/city_name/state_name/school_name
我的路线就像
Route::get('cities/{cityName}')
但是现在我想删除这个城市词,因为SEO。当我从routes.php删除城市单词时,我的其他页面无法正常工作(admin,about_us)
所以我想也许我可以用htaccess隐藏城市字是否有可能?如果是的话我该怎么办?
答案 0 :(得分:0)
我知道这不是你喜欢的答案,但更多地将其作为未来项目的警告:使用命名路线。
如果你有路线,请说:
Route::get('cities/{cityName}', array('as' => 'city', 'uses' => 'CityController@city'));
您已使用任何提供的方法在视图中创建了路线:
route('city', array('cityName' => 'New York'));
form_open(array('route' => array('city', 'New York'));
URL::route('city', array('cityName' => 'New York'));
现在您不需要更改视图中的任何内容,您只需更改路径本身:
Route::get('cities', array('as' => 'city', 'uses' => 'CityController@city'));
忘了其余的(即使是现在缺少的参数。我知道,它看起来不会很完美......)
如果您仍想使用.htaccess路线,可以尝试:
^cities/(.+)/(.+)/(.+)$ /cities/$2/$3 [L]