假设我的应用程序的基本URL是 - http://www.example.com
(我没有在任何配置文件中设置任何内容来指定它)。应用程序中有很多硬编码的URL。
eg. <a href="/contact">Contact</a>
现在,如果我使用像http://www.example.com/country
之类的网址浏览应用程序,是否可以分配全局基本网址,当我点击联系人时,我会转到 - http://www.example.com/country/contact
。
有很多这样的硬编码URL,单独更改它会花费很多时间(比如用全局变量附加它)。有没有更简单的方法来执行此操作,还是在laravel中有任何特定的配置?我对laravel相当新鲜。任何帮助将不胜感激。
答案 0 :(得分:1)
你可以使用@worldask建议的有点麻烦的应用过滤器的解决方案,但我认为最好设置 named route 并使用常规更改所有出现次数表达式(任何体面的编辑器允许)。这样,对于应用程序的生命周期,您只需要更改routes.php
中的路由,它就会反映在任何地方。
e.g
Route::get('country/contact', ['as' => 'contact',
'uses' => 'SomeController@someFn'];
<a href="{{route('contact')}}">Contact</a>
当然,相同的原则适用于添加前缀路由组,因此您可以使用前缀为“country”的组来包装整个路径文件。
答案 1 :(得分:0)
您可以尝试Route Prefixing
Route::group(array('prefix' => 'country'), function(){
Route::get('Contact', 'HomeController@index');
Route::get('another', 'HomeController@index');
});
修改强> 尝试路由过滤器
Route::filter('filtername', function($route, $request, $value)
{
if ($route == 'country') {
return Redirect::to(url);
}
});