[注意]-发现此问题是由于不正确的Apache配置所致。我已经发布了一个答案,解释了我做错了什么。我希望这会有所帮助!
我正在与Laravel合作开始一个项目,并从创建一般路线开始。我想创建一个请求结构,以使example.com
的URL转到有机路由,admin.example.com
的URL转到我应用的管理控制台,{workspace}.example.com
的URL转到用户的动态路由个人工作区。
目前,我具有以下路由结构:
Route::group(array('domain' => 'admin.example.com'), function() {
Route::get('/', function() {
echo 'This route works fine';
});
Route::get('/test', function() {
// This route doesn't work...
echo 'Test';
});
});
Route::group(array('domain' => '{workspace}.example.com'), function() {
Route::get('/', function() {
echo 'This route works fine';
});
Route::get('/test', function() {
// This route doesn't work...
echo 'Test';
});
});
Route::group(array('domain' => 'example.com'), function() {
Route::get('/', function() {
echo 'This route works fine';
});
Route::get('/test', function() {
// This route doesn't work...
echo 'Test';
});
});
如您所见,我有三个路由组。第一个用于管理员前缀URL(以确保不会将admin.example.com
误认为是工作空间前缀)。有工作区前缀,最后是无前缀路由组。
如代码中所示,所有Route::get('/', ...
路由都可以正常工作,但是不是根节点的所有路由均不起作用。尝试转到example.com/test
(和所有其他域前缀)时,我收到404错误。
该如何解决我的路由问题,并使路由Route::get('/test', ...
而不是/
路由正常工作?
非常感谢!
答案 0 :(得分:0)
此问题是由Apache配置错误而不是路由错误引起的。
为避免以后再出现此类问题,请确保在项目的AllowOverride
阻止apache.conf文件中将All
设置为<Directory /var/www/myProject/public>
,如下所示:
<Directory /var/www/myProject/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>