Задать вопрос
  • QEMU/KVM. sentinel HASP и RDP?

    bioid
    @bioid Автор вопроса
    красный. сейчас попробую.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine
    Виктор Таран
    Парни, напишите, пожалуйста, в поле ответа фразу "Смотреть комментарии". Я отмечу ваши ответы решением.
    Спасибо за помощь!
    Учитывая, что на вопрос получен ответ, благодря вам, но при этом плавно всплыл другой вопрос, я создам новый топик.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine, есесно энджинкс постоянно после измений рестартую.
    Короче, сделал сейчас так. Создал новый сайт. Его конфиг nginx = конфигу для битры, за исключением естественно, каталога root. В его корень добавил единственный файл php. (привет мир, грубо говоря).
    В итоге редирект не работает.

    curl -I https://mywebsite/test1.php
    HTTP/2 200

    а вот апперкейс уже в ошибку выпадает, а не в редирект:
    curl -I https://mywebsite/tESt1.php
    HTTP/2 404


    То есть, редирект действительно где-то в битре.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine, да, это первым делом почти сразу после создания поста закоментировал. Не помоггает. То есть, все предыдущие мои ответы, они с закоментированной этой строчкой.
    P.S. Сейчас пойду с низов, без битрикса.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine, да, редирект есть, если файл php. например так:
    сurl -I https://mywebsite/bitrix/components/ipol/ipol.dpdPickup/ajax.php
    HTTP/2 301
    location: https://mywebsite/bitrix/components/ipol/ipol.dpdpickup/ajax.php


    Но если обращаться к урлу самой директории, то 403 и без редиректа:
    сurl -I https://mywebsite/bitrix/components/ipol/ipol.dpdPickup/
    HTTP/2 403
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Виктор Таран, вопрос уже именно в том, как найти код, где происходит такой редирект. Будь то nginx или битра.
    Ситуация такая, что я лично не создавал такой редирект. Файл настроек nginx (тот что в посте - это тупо копипаста с битрофрума (точно не помню с какого именно). До момента установки модуля Интеграция с DPD, сабж не всплывал.
    Поможете найти где редирект? В php какой код искать? Я пробегусь grep-ом внутри содержимого файлов корня сайта.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine,
    Модуль "Интеграция с DPD" этого требует. Я пообщался с его разрабами.
    Я: -То есть, смотрите, у нас сейчас в nginx (или в самой битрикс) идёт редирект всех uppercase на lowercase. Значит ли это, что нам необходимо сделать исключение для bitrix\components\ipol\, чтобы ваш модуль корректно работал?

    Они: -Да, добавьте эту папку в исключения, в противном случае AJAX запрос от фронтенда виджета к бэкенду пойдет к \bitrix\components\ipol\ipol.dpdPickup\ajax.php , сработает редирект и location изменится на \bitrix\components\ipol\ipol.dpdpickup\ajax.php , но такой папки на сервере нет, в результате на фронтенд придет страница 404 ошибки вместо JSON и виджет не будет работать.

    Ну и утверждают, что в стоке битра не редиректит верхние/нижние регистры. Хрен знает, где смотреть дальше.
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine,
    я правильно понимаю, что задать исключения для некоторых каталогов средствами nginx не даст результата, так как редирект все равно будет происходить потом на уровне вебприложения (битриксом)?
    То есть, суть в том, чтобы не было редиректов с uppercase на lowercase для .bitrix/components/ipol/*.
    Или можно, сделать такое исключение именно nginx-ом, невзирая, что где-то в битре он прописан для всего сайта?
  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine, а не подскажете, где?
    Вот содержимое ./bitrix/urlrewrite.php :
    <?
    include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/urlrewrite.php');
    if(file_exists($_SERVER['DOCUMENT_ROOT'].'/404.php'))
    	include_once($_SERVER['DOCUMENT_ROOT'].'/404.php');

    Вот содержимое ./bitrix/modules/main/include/urlrewrite.php :
    spoiler
    <?
    error_reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR|E_PARSE);
    
    require_once(__DIR__."/../bx_root.php");
    require_once(__DIR__."/../lib/loader.php");
    require_once(__DIR__."/autoload.php");
    require_once(__DIR__."/../tools.php");
    
    $bSkipRewriteChecking = false;
    
    //try to fix REQUEST_URI under IIS
    $aProtocols = array('http', 'https');
    foreach($aProtocols as $prot)
    {
    	$marker = "404;".$prot."://";
    	if(($p = mb_strpos($_SERVER["QUERY_STRING"], $marker)) !== false)
    	{
    		$uri = $_SERVER["QUERY_STRING"];
    		if(($p = mb_strpos($uri, "/", $p + mb_strlen($marker))) !== false)
    		{
    			if($_SERVER["REQUEST_URI"] == '' || $_SERVER["REQUEST_URI"] == '/404.php' || mb_strpos($_SERVER["REQUEST_URI"], $marker) !== false)
    			{
    				$_SERVER["REQUEST_URI"] = $REQUEST_URI = mb_substr($uri, $p);
    			}
    			$_SERVER["REDIRECT_STATUS"] = '404';
    			$_SERVER["QUERY_STRING"] = $QUERY_STRING = "";
    			$_GET = array();
    			break;
    		}
    	}
    }
    
    if (!defined("AUTH_404"))
    	define("AUTH_404", "Y");
    
    require_once($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/dbconn.php");
    
    if (defined("BX_URLREWRITE"))
    	return;
    define("BX_URLREWRITE", true);
    
    $foundQMark = mb_strpos($_SERVER["REQUEST_URI"], "?");
    $requestUriWithoutParams = ($foundQMark !== false? mb_substr($_SERVER["REQUEST_URI"], 0, $foundQMark) : $_SERVER["REQUEST_URI"]);
    $requestParams = ($foundQMark !== false? mb_substr($_SERVER["REQUEST_URI"], $foundQMark) : "");
    
    //decode only filename, not parameters
    $requestPage = urldecode($requestUriWithoutParams);
    
    if(!defined("BX_UTF") && CUtil::DetectUTF8($_SERVER["REQUEST_URI"]))
    {
    	$requestPage = \Bitrix\Main\Text\Encoding::convertEncoding($requestPage, "utf-8", (defined("BX_DEFAULT_CHARSET")? BX_DEFAULT_CHARSET : "windows-1251"));
    }
    
    $requestUri = $requestPage.$requestParams;
    
    $io = CBXVirtualIo::GetInstance();
    
    $arUrlRewrite = array();
    if(file_exists($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php"))
    	include($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php");
    
    if((isset($_SERVER['REDIRECT_STATUS']) && $_SERVER['REDIRECT_STATUS'] == '404') || isset($_GET["SEF_APPLICATION_CUR_PAGE_URL"]))
    {
    	if(isset($_SERVER['REDIRECT_STATUS']) && $_SERVER['REDIRECT_STATUS'] == '404' && !isset($_GET["SEF_APPLICATION_CUR_PAGE_URL"]))
    	{
    		$url = $requestUri;
    	}
    	else
    	{
    		if(!is_string($_GET["SEF_APPLICATION_CUR_PAGE_URL"]))
    		{
    			$_GET["SEF_APPLICATION_CUR_PAGE_URL"] = '';
    		}
    		$url = $requestUri = $_GET["SEF_APPLICATION_CUR_PAGE_URL"];
    		$_SERVER["REQUEST_URI"] = $REQUEST_URI = CHTTP::urnEncode($_GET["SEF_APPLICATION_CUR_PAGE_URL"]);
    		unset($_GET["SEF_APPLICATION_CUR_PAGE_URL"]);
    	}
    
    	if(($pos = mb_strpos($url, "?")) !== false)
    	{
    		$params = mb_substr($url, $pos + 1);
    		if ($params !== false && $params !== "")
    		{
    			parse_str($params, $vars);
    			unset($vars["SEF_APPLICATION_CUR_PAGE_URL"]);
    
    			$_GET += $vars;
    			$_REQUEST += $vars;
    			if (ini_get_bool("register_globals"))
    				$GLOBALS += $vars;
    
    			$_SERVER["QUERY_STRING"] = $QUERY_STRING = CHTTP::urnEncode($params);
    		}
    	}
    
    	if (isset($_GET["SEF_APPLICATION_CUR_PAGE_URL"])
    		&& (
    			isset($_SERVER['REDIRECT_STATUS']) && $_SERVER['REDIRECT_STATUS'] == '404'
    			|| ($requestUriWithoutParams != "/bitrix/urlrewrite.php")
    		)
    	)
    	{
    		$url = $requestUri = $_SERVER["REQUEST_URI"] = $REQUEST_URI = "";
    		$_GET = array();
    		$_REQUEST = array();
    		$_SERVER["QUERY_STRING"] = $QUERY_STRING = "";
    	}
    
    	$HTTP_GET_VARS = $_GET;
    
    	$uriPath = GetRequestUri();
    	define("POST_FORM_ACTION_URI", htmlspecialcharsbx("/bitrix/urlrewrite.php?SEF_APPLICATION_CUR_PAGE_URL=".urlencode($uriPath)));
    }
    
    if (!CHTTP::isPathTraversalUri($_SERVER["REQUEST_URI"]))
    {
    	foreach($arUrlRewrite as $val)
    	{
    		if(preg_match($val["CONDITION"], $requestUri))
    		{
    			if ($val["RULE"] <> '')
    				$url = preg_replace($val["CONDITION"], ($val["PATH"] <> '' ? $val["PATH"]."?" : "").$val["RULE"], $requestUri);
    			else
    				$url = $val["PATH"];
    
    			if(($pos = mb_strpos($url, "?"))!==false)
    			{
    				$params = mb_substr($url, $pos + 1);
    				parse_str($params, $vars);
    				unset($vars["SEF_APPLICATION_CUR_PAGE_URL"]);
    
    				$_GET += $vars;
    				$_REQUEST += $vars;
    				$_SERVER["QUERY_STRING"] = $QUERY_STRING = CHTTP::urnEncode($params);
    				$url = mb_substr($url, 0, $pos);
    			}
    
    			$url = _normalizePath($url);
    
    			if(!$io->FileExists($_SERVER['DOCUMENT_ROOT'].$url))
    				continue;
    
    			if (!$io->ValidatePathString($url))
    				continue;
    
    			$urlTmp = mb_strtolower(ltrim($url, "/\\"));
    			$urlTmp = str_replace(".", "", $urlTmp);
    			$urlTmp7 = mb_substr($urlTmp, 0, 7);
    
    			if (($urlTmp7 == "upload/" || ($urlTmp7 == "bitrix/" && mb_substr($urlTmp, 0, 16) != "bitrix/services/" && mb_substr($urlTmp, 0, 18) != "bitrix/groupdavphp")))
    				continue;
    
    			$ext = mb_strtolower(GetFileExtension($url));
    			if ($ext != "php")
    				continue;
    
    			CHTTP::SetStatus("200 OK");
    
    			$_SERVER["REAL_FILE_PATH"] = $url;
    			include_once($io->GetPhysicalName($_SERVER['DOCUMENT_ROOT'].$url));
    			die();
    		}
    	}
    }
    
    //admin section 404
    if(mb_strpos($requestUri, "/bitrix/admin/") === 0)
    {
    	$_SERVER["REAL_FILE_PATH"] = "/bitrix/admin/404.php";
    	include($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/404.php");
    	die();
    }
    
    define("BX_CHECK_SHORT_URI", true);

  • Где в этом конфиге редирект урлов с uppercase на lowercase?

    bioid
    @bioid Автор вопроса
    Constantine,
    curl -I my_website/bitrix/aDMin/
    показывает, что есть 301 редирект на my_website/bitrix/admin/
    Это, как пример.
  • Есть ли смысл переводить governor в performance?

    bioid
    @bioid Автор вопроса
    mkone112, какие ваши доказательства?
  • Есть ли смысл переводить governor в performance?

    bioid
    @bioid Автор вопроса
    mkone112, ну вроде логично, вырастает частота, растут энергозатрты
  • Ноутбук Asus k95vm. Каковы возможные причины отсутствия изображения?

    bioid
    @bioid Автор вопроса
    milssky, В общем, среди знакомых нашёлся знакомый инженер по ремонту. Отдал ему, он отремонтировал. Сказал, что прошивка была не при делах. А виновно питание на видео. Взял по деньгам меньше, но главное не это, а то, что в том СЦ точно развести хотели в стиле "после прошивки биоса, выяснилось, что питание на видео надо ремонтировать".
  • Ноутбук Asus k95vm. Каковы возможные причины отсутствия изображения?

    bioid
    @bioid Автор вопроса
    milssky, Короче отвез в СЦ. Сейчас позвонили и сказали:
    "Надо термопасту заменить на процессоре и аппаратно обновить прошивку платы, чтобы было понятно, что дальше делать. Стоимость 5800 руб".
    На вопрос зачем менять термопасту? Отвечают: -"Ну это из разряда рекомендуемых".
    -А сколько без замены термопасты?
    -4500 руб.

    И вот это всё прям интуиция подсказывает, что развод на количество работ. Сказал, что приеду, заберу.
    Отвезу в другой центр.
  • Ноутбук Asus k95vm. Каковы возможные причины отсутствия изображения?

    bioid
    @bioid Автор вопроса
    Лампочки на ноуте загораются? На зарядку реагирует? Флешка в юсб дырке мигает лампочками после включения бука?

    Все ответы - "Да".
  • Какой коммутатор лучше для 5 компов (rdp, VoIP, https) и двух принтеров?

    bioid
    @bioid Автор вопроса
    Denis Melnikov
    Дмитрий
    Вопрос больше в стабильности работы и производительности, управляемость не нужна. Сейчас стоит какой-то длинк (или линксис, не помню), его приходится перезагружать иногда, так как теряется линк за ним.
  • Автоподключение интерфейса ike2 в ходе загрузки системы?

    bioid
    @bioid Автор вопроса
    Из-под СИСТЕМЫ не работает. Под админ учеткой (в шедулере) ок, до тех пор пока на сервер не зайдет другой пользователь, в этот момент интерфейс падает.
    P.S. Неужели в винде нет способа без планировщика? Указать, что этот интерфейс активен всегда.
  • Как лучше планировать настройку роутера для приоритезации трафика?

    bioid
    @bioid Автор вопроса
    Я может не до конца понимаю, но мне кажется, с точки зрения производительности, вариант разделения трафика на 2 уровне OSI, более производительный, в сравнении с 3-4.
    .
  • Как ресетнуть конфиг микротика в заводские настройки при отсутствии логина/пароля, а на плате нет кнопки reset и джампера?

    bioid
    @bioid Автор вопроса
    Wexter, Кстати, а возжно такое, что кнопки в этой плате нет? Или в какой либо другой например. Или все платы 100% поставляются с кнопками ресета?