Я установил правило перезаписи для своего сайта WordPress и обнаружил, что оно частично работает.
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)$ $2 [L]
Например, учитывая мое правило, https://example.edu/subsite/wp-includes/js/jquery/jquery.js
должен перенаправлять на https://example.edu/wp-includes/js/jquery/jquery.js
, поскольку subsite
и основной сайт делятся js
файлами.
Однако, 404 Not Found | nginx
ошибка была выдана.
Но если я изменю имя файла на несуществующий файл, скажем https://example.edu/subsite/wp-includes/js/jquery/jquery.jssssssssssss
, сервер, конечно, не сможет найти файл и выдает ошибку
"Not Found Запрошенный URL /wp-includes/js/jquery/jquery.jsssss
не найден на этом сервере. "
Но перенаправление успешно выполнено.(от /subsite/wp-includes/...
до /wp-includes/...
).
Эта проблема выглядит как
- Если URL-адрес направлен на существующий файл, это приведет к ошибке 404,
- Если URL-адрес направлен на несуществующий файл, перенаправление будет выполнено.
Я что-то упустил в правиле перенаправления или что-то еще?Как я могу исправить эту проблему?