当我导航到网址localhost/changecontrol
时,我希望加载index.blade.php
,而我会在200 OK
后收到空的301 Moved Permanently (from disk cache)
响应。网络选项卡显示:
changecontrol -> Status Code:301 Moved Permanently (from disk cache)
changecontrol/ -> 200 OK
浏览器自动将尾部斜杠添加到URL,可能是因为奇怪的301
错误。我尝试过不同的浏览器,同样的事情发生了。
我还尝试了所有常用的缓存清除:route:clear
,cache:clear
,view:clear
。
路线
Route::namespace('ChangeControl')->group(function() {
Route::group(['prefix' => 'changecontrol'], function() {
Route::get('', 'ChangeController@index');
...
});
});
控制器
public function index()
{
return view('changecontrol.index');
}
查看路径
views
changecontrol
index.blade.php
我有一个相同的设置用于另一个系统,它使用完全相同的结构,路由设置等,并且一个工作正常。
如果我将路线修改为Route::get('index', 'ChangeController@index');
然后导航至changecontrol/index
,视图将按预期加载。
所以我真的不知道出了什么问题?为什么它适用于一个系统而不适用于另一个系统?
答案 0 :(得分:0)
好的 - 仔细看看web.config
:
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
这个特殊的规则导致了这个问题,因为我有一个不应该出现的文件夹:
我有一个文件夹public/changecontrol
(错误地创建并且从未删除过)。上述规则与此相符,这就是它重定向的原因。