我正在laravel 5.4中创建一些永久重定向,我想知道这是否是最好的方法,以及如何优化此代码。我在这个答案Optimize Redirect 301 for a multilingual site中看到了.htaccess中的一个例子,但是如何在路线中做同样的事情?什么是更好的,在路线或 .htaccess 中进行?
我把它放在路线:
中Route::get('es/nosotros/quienes/quienes.php', function(){ return Redirect::to('quienes', 301); });
Route::get('en/nosotros/quienes/quienes.php', function(){ return Redirect::to('quienes', 301); });
Route::get('pt/nosotros/quienes/quienes.php', function(){ return Redirect::to('quienes', 301); });
另一个问题是我必须重定向大约5,000个网址。作为最终结果,我将获得一个包含5,000个旧网址和5,000个新网址的文件。我还将它包含在路线文件中吗?在.htaccess?感谢。
答案 0 :(得分:1)
为什么不使用占位符?
Route::get('{lang}/nosotros/quienes/quienes.php', function ($language) {
return Redirect::to('quienes', 301)->with('language', $language);
});
routes
和.htaccess
之间的区别在于速度:第二个不会将信息传递给应用程序,重定向答案将直接从Web服务器(Apache)接收。服务器会谢谢你!