我是laravel新手,目前正在构建application
。现在在应用程序中,我想通过via this route: /admin
到达admin index page
但我最终以
:MyApp.app/admin/
显示admin文件夹
的目录内容
而不是MyApp.app/admin
应该会在浏览器中显示一个视图
.
我添加了一个htaccess
文件,其中包含以下代码,
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
但这改变不了什么。
这是我的route
代码:
Route::get('admin', ['as'=>'posts.home', 'uses' => 'AdminPostsController@home']);
控制器代码:
public function home(){
//
return view('admin.index');
}
请注意:我最初使用了一个简单的代码,如:
溃败:get (/admin,函数(){返回视图(' admin.index '});
但我仍然有同样的问题,但通过route resource
访问视图工作正常。也许在"laravel 5.3"中有一个访问视图的standard way
。
这个应用程序是在我的linux电脑上。
我99%肯定的问题是,在你的项目中,你有一个目录在你的公共目录,命名为'admin'。如果你这样做了,这几乎肯定会导致问题,因为Laravel会找到公共目录,而不会继续在你的路由中寻找相同路径下的端点。
现在,假设这真的是你的问题,你所要做的就是以某种方式改变目录结构,或者改变路由的名称。
第一解决方案
移动目录public/admin
到public/assets/admin
第二方案
重命名:
Route::get('admin', ['as'=>'posts.home', 'uses' => 'AdminPostsController@home']);
Route::get('administration', ['as'=>'posts.home', 'uses' => 'AdminPostsController@home']);
如果这是你的问题,请告诉我:)