我正在使用 laravel-localization 部署我的第一个 laravel 应用程序。不幸的是,我目前收到错误,
未找到
在此服务器上找不到请求的 URL /en。
此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
我已经在网上搜索过,试图找到遇到同样问题的其他人,看看他们是否有适合我的可行解决方案。我至少找到了一个,但看起来他也无法解决它。我也在这里找到了这个解决方案,但两个想法似乎都不起作用。
当我改变时(在 config/laravellocalization.php 文件中)
'hideDefaultLocaleInURL' => false,
从假到真
'hideDefaultLocaleInURL' => true,
我可以看到主页,但仅此而已。所有其他页面都被重定向到 404 错误。
我还更改了 index.php 文件以反映我的文件夹结构,因为该站点的公用文件夹位于 public_html 文件夹内的文件夹中:
require __DIR__.'/../../myapp/bootstrap/autoload.php';
...
$app = require_once __DIR__.'/../../myapp/bootstrap/app.php';
注意:1一切都在我的本地主机上运行。部署似乎有问题。
注意 2:由于当前配置,该站点会自动尝试加载 www.mysite.com/en 版本,这让我认为我对 index.php 文件的更改是正确的。如果没有这些更改,我会收到页面无法加载的错误。
注 3:这是我当前的文件夹结构:
- /home/username
-- mostOfMyFiles
-- public_html
--- nameOfUrl
---- publicFiles
注 4:关于路由,这是我目前在 web.php 文件中的内容:
<?php
Route::group([
'prefix' => LaravelLocalization::setLocale(),
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]
], function()
{
Route::get('/', function()
{
return View::make('welcome');
});
Route::get(LaravelLocalization::transRoute('routes.about'), function() {
return View::make('about');
});
Route::get(LaravelLocalization::transRoute('routes.contact', 'ContactController@getContact'), function() {
return View::make('contact');
});
Route::post(LaravelLocalization::transRoute('routes.contact'),
['as' => 'contact', 'uses' => 'ContactController@sendMail']);
});
我已经尝试将“网络”中间件添加到组中,如此处所示,但这也没有解决问题。:(
注意:我还托管另一个站点。这就是为什么我在具有 URL 名称的文件夹中拥有公共文件的原因。
知道问题可能是什么吗?
我感谢所有的想法、评论和批评。:)