Laravel - 301 永久移动(来自磁盘缓存)
Laravel - 301 Moved Permanently (from disk cache)
当我导航到 URL localhost/changecontrol
时,我希望加载 index.blade.php
,但我在 [=18= 之后得到一个空的 200 OK
响应].网络选项卡显示如下:
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
,视图将按预期加载。
所以我真的不知道出了什么问题?为什么它适用于一个系统而不适用于另一个系统?
好的 - 在仔细查看 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
(错误创建且从未删除)。上面的规则与此匹配,这就是它重定向的原因。
当我导航到 URL localhost/changecontrol
时,我希望加载 index.blade.php
,但我在 [=18= 之后得到一个空的 200 OK
响应].网络选项卡显示如下:
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
,视图将按预期加载。
所以我真的不知道出了什么问题?为什么它适用于一个系统而不适用于另一个系统?
好的 - 在仔细查看 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
(错误创建且从未删除)。上面的规则与此匹配,这就是它重定向的原因。