Кроме того, что-то, что произошло для нас..., мы столкнулись с проблемами размера реестра, которые в конечном счете привели к той же проблеме
Изменение HKLM\SYSTEM\CurrentControlSet\Control\RegistrySizeLimit
быть больше (для нас, мы использовали 8 f's... Ценность на 4 ГБ комнаты расширения. Это устранило много проблем для нас.
Если у вас есть прямое соответствие между старыми параметрами URL и новым путем URL, вы можете использовать такой синтаксис:
location /index.php {
...
try_files $uri /$arg_site =404;
}
С такой конфигурацией любой запрос, начинающийся с /index.php
, сначала будет повторяться по точному URL-адресу, затем, если нет подходящего файла или местоположения, nginx попытается выполнить внутреннее перенаправление с / foo
, если исходный URL-адрес /index.php?site=foo
. Если и это не поможет, nginx отправит ответ 404 HTTP Not Found
.
Я исправил эту проблему, используя php, а не функцию перезаписи nginx:
if (isset($_GET["site"]) {
switch ($_GET["site"]) {
case 'foo':
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: /foo" );
break;
...
}
}