我刚刚在服务器上发现了问题。一切都在我的localhost工作正常,但在实时服务器上,只有主页路由正常。
我的目录是:
laravel-
css
js
local->
app
HTTP->
Controllers->
Homecontroller
admin->
Groupcontroller
config
...
这是我的htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
我的路线文件是: -
Route::get('/group/detail', 'Groupcontroller@index');
Route::get('/group/add', 'Groupcontroller@create');
Route::get('/group/edit/{id}', 'Groupcontroller@edit');
我的家庭控制器正在工作。我认为问题是与管理文件夹???
http://www.example.com/admin/group/detail
这不起作用
遇到错误: -
类App \ Http \ Controllers \ Admin \ Groupcontroller不存在
请帮帮我,在localhost工作正常,但不在现场工作。提前致谢
Groupcontroller
的路径是Controllers/admin/Groupcontroller
。因此,在您的路线中,您需要使用适当的路径访问Groupcontroller
。
Route::get('/group/detail', 'admin\Groupcontroller@index');
Route::get('/group/add', 'admin\Groupcontroller@create');
Route::get('/group/edit/{id}', 'admin\Groupcontroller@edit');
此外,建议使用CamelCase文件夹名称。那是;更改admin =>管理员。
尝试将.htaccess的内容更改为此内容
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
检查名称空间与目录名称的比较。案件应该匹配。
您可能忘记将.htaccess文件从/ public文件夹粘贴到/ public_html文件夹
所以只需将公共文件夹中的.htaccess文件复制并粘贴到/ public_html文件夹即可
然后它将作为本地工作