Задать вопрос
  • Hosting to Hosting Редирект. Уменьшить расходы?

    по моему очевидный ответ у вас на сервере стоит nginx
    собственно он проксирует на бэк в henzner вот и все айпи у вас местный а сервер только проксирует. Пойдет любая помойка.
    А как сделать nginx в режиме proxy можете найти по первой же ссылке, его в 50% случаев так и используют.
    Там и балансеры и все че хочешь есть
    и да будет видно что nginx проксирует, но простите nginx+apache конфигурация сейчас самая популярная и он там тоже проксирует.
    А какой апстрим локальный или внешний узнать нереально. единственное во всех манах в интернете ошибка, уж не знаю какого ляда. Но проксируйте http-http https-https а не на http.
    Ответ написан
    1 комментарий
  • PageSpeed и Манго calltracking. Как убрать неиспользуемый js код?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    гугл пейдж спид пишет много рекомендаций. НО считает попугаев только п скорости сайта.
    То есть все его рекомендации только коственны, ему важна реальная скорость.
    Ответ написан
    Комментировать
  • Как заменить редирект с каталога на главную на универсальный?

    shambler81
    @shambler81 Куратор тега htaccess
    ############################################################################
    #### Стандартный .htaccess для проектов студии Клондайк, версия 4.6     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    php_flag display_errors off
      # запретить отображение ошибок  (требование монитора качества)
    php_flag allow_url_fopen off
      # запретить  использовать удаленные файлы (требование проактивной защиты)
    
    ErrorDocument 404 /404.php
    
    php_value register_globals Off
    
    php_value mbstring.func_overload 2
    
    RemoveHandler .html .htm
    
    AddType application/x-httpd-php .php .htm .html
    
    DirectoryIndex index.php index.html index.htm
    
    php_value default_charset cp1251
    
    AddType 'text/html; charset=cp1251' .html .htm .shtml
    
    php_value mbstring.internal_encoding cp1251
    
    # ТЫ УВЕРЕН ЧТО cp1251 !!!!!???
    
    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
        # 1. Удалить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
        # Проверяем, содержит ли домен www в начале URL.
    RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
        # 2. Добавить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    #RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    #RewriteCond %{HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
       #  Исключим обмен с 1С, ему требуется только 200 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{THE_REQUEST} //
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteCond %{QUERY_STRING} !http(s|)://
      # Убедимся что это не урл в  GET
    RewriteRule .* /$0 [R=301,L]
       # Исключаем все лишние слеши.
    
    ############################################################################
    #### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
    ############################################################################
    RewriteCond %{REQUEST_URI} \..+$
       # Если файл содержит точку.
    RewriteCond %{REQUEST_FILENAME} !-d
       # И это не директория.
    RewriteCond %{REQUEST_FILENAME} -f
       # Является файлом.
    RewriteCond %{REQUEST_URI} ^(.+)/$
       # И в конце URL есть слеш.
    RewriteRule ^(.+)/$ /$1 [R=301,L]
       # Исключить слеш.
    
    ############################################################################
    #### Добавляем слеш(/), если его нет, и это не файл.                    ####
    ############################################################################
    RewriteCond %{REQUEST_URI} !(.*)/$
       # Если слеша в конце нет.
    RewriteCond %{REQUEST_FILENAME} !-f
       # Не является файлом.
    RewriteCond %{REQUEST_URI} !\..+$
       # В URL нет точки (файл).
    RewriteCond %{REQUEST_URI} ^(.+)$
     # В URL есть хоть один символы
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    
    ############################################################################
    #### Компрессия статического контента для гугл  спид тест               ####
    ############################################################################
    <IfModule mod_deflate.c>
      AddType image/svg+xml .svg
      AddOutputFilterByType DEFLATE image/svg+xml  
      AddOutputFilterByType DEFLATE application/rss+xml
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-javascript
      AddOutputFilterByType DEFLATE application/xhtml+xml
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE font/opentype
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE image/svg+xml
      AddOutputFilterByType DEFLATE image/x-icon
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/xml
      AddOutputFilterByType DEFLATE image/svg+xml
    </IfModule>
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 1 year"
      ExpiresByType image/svg "access plus 1 year"
      ExpiresByType image/gif "access plus 1 year"
      ExpiresByType image/png "access plus 1 year"
      ExpiresByType text/javascript "access plus 1 year"
      ExpiresByType text/css "access plus 1 year"
      ExpiresByType application/javascript "access plus 1 year"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
      ExpiresByType application/x-font-ttf "access plus 1 year"
      ExpiresByType application/x-font-opentype "access plus 1 year"
      ExpiresByType application/x-font-woff "access plus 1 year"
      ExpiresByType image/svg+xml "access plus 1 year"
    </IfModule>
      <IfModule mod_headers.c>
      <filesmatch "\.(ico|flv|jpg|jpeg|webp|png|gif|css|swf|woff|pdf)$">
        Header set Cache-Control "max-age=31536000, public"
      </filesmatch>
      <filesmatch "\.(html|htm)$">
        Header set Cache-Control "max-age=7200, private, must-revalidate"
      </filesmatch>
      <filesmatch "\.(pdf)$">
        Header set Cache-Control "max-age=86400, public"
      </filesmatch>
      <filesmatch "\.(js|otf|ttf|woff|woff2)$">
        Header set Cache-Control "max-age=31536000, private"
      </filesmatch>
      </IfModule>
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    
    
    RewriteCond %{QUERY_STRING} wd_export=Y&pdf=Y
    RewriteRule ^(.*)\.php$ /$1.php? [R=301,L]
    
    RewriteCond %{QUERY_STRING} wd_export=Y&pdf=Y&pdf2email=
    RewriteRule ^(.*)\.php$ /$1.php? [R=301,L]
    
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . %1/%2 [R=301,L]
    
    Redirect 301 /kraska-emal/ www.voronezh.optimaservis.su/kraska-emal-dlja-naru...
    #!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ПРЯМ В УРЛЕ ТРИ ТОЧКИ В КОНЦЕ ? ????????
    
    Redirect 301 /sistema-skat/ www.voronezh.optimaservis.su/sistemy-svetovoi-indekacii
    Redirect 301 /katalog/$ /?
    
    RewriteCond %{REQUEST_URI} !^www.voronezh.optimaservis\.su/bitrix/admin/
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
    RewriteRule ^(.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
    #
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    
    RewriteCond %{HTTP_HOST} kurgan.optimaservis.ru
    RewriteRule (.*) kurgan.optimaservis.su/$1 [R=301,L]
    
    SetEnvIf Referer ^https?://(?:.+\.)?advodka\.com/.*$ ban
    Deny from env=ban
    
    SetEnvIf Referer ^https?://(?:.+\.)?linkis\.com/.*$ ban
    Deny from env=ban
    
    SetEnvIf Referer ^https?://(?:.+\.)?prlog\.ru/.*$ ban
    Deny from env=ban
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
    RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]


    я удалил противоположные директивы
    пометил те что сомнительны, в общем там у тебя каша еще та.

    зачем тебе?
    RemoveHandler .html .htm

    и это
    AddType application/x-httpd-php .php .htm .html
    Вы вначале прикрутили к битриксу html файлы теперь удаляете их названия в чем проифт ?

    DirectoryIndex index.php index.html index.htm
    Встречается 2 раза с разной последовательностью в чем прикол ?

    php_value default_charset cp1251
    AddType 'text/html; charset=cp1251' .html .htm .shtml

    ЭЭЭ у тебя 14 битрикс? давно уже по умолчанию UTF-8 точно у тебя сп?
    php_value mbstring.internal_encoding cp1251
    устарела, какой у тебя битриикс?

    Redirect 301 /kraska-emal/ www.voronezh.optimaservis.su/kraska-emal-dlja-naru...

    Реально урл такой?
    Ответ написан
  • Как правильно настроить apache?

    поставьте готовый веб ервер дабы они делаются в1 клик
    bitrix vm - 1 клик ставится с bash скрипта или готовая вм на выбор, консольная менюшка управлять легко.
    vestacp - ставится в 1 клик веб морда
    braynicp - веб морда в 1 клик
    ispcinfig3 - если хочется поковырятсья.
    Ответ написан
  • Как сделать Foreach 1 1 раз для некоторых элементов?

    shambler81
    @shambler81 Автор вопроса
    Да спасибо я уже докумекал. Да и по ходу разбора массива оказалось что в коде ошибка, пришлось переделывать все, и даже картинка понадобилась всего одна, но правильная.
    Собственно конечный вариант.
    echo '<span class="close js-close">Закрыть</span>
    <h2>Квартира в новостройке</h2><br><Br>
    <div class="form_addobjX">
    	<table>
    		<tbody>
    			<tr>
    				<td>
    			        <p><b>'.$check.' в '.$data['0']["building-name"].'</b></p>
    			        ';
    						foreach ($data['0']["image"] as $key => $value) {
    							if($value['tag'] == 'plan'){?>
    								<img class="popup_kv" src="<?=$value['url']?>">
    							<?}else{
    								continue;
    							}
    						}
    			        // <img class="popup_kv" src="'.$data['0']["image"][0][url].'">
    					echo '
    					<div class="item">				<label>Общая площадь:	  </label>'.$data['0']["area"]['value'].' 	 					кв. м					</div>
    					<div class="item">				<label>Жилая площадь:	  </label>'.$data['0']["living-space"]['value'].' кв. м									</div>
    					<div class="item">				<label>Этаж:			  </label>'.$data['0']['floor'].' этаж из '.$data['0']["floors-total"].'				</div>
    					<div class="item">				<label>Цена:			  </label>'.number_format($data['0']['price']['value'], 0, ',', ' ').' руб.				</div>
    
    					<div class="item" id="Expando1 "><label>Продавец и телефон:</label>'.$data['0']['sales-agent'][organization].' <a href="tel:'.$data['0']['sales-agent']['phone']['0'].'">'.$data['0']['sales-agent']['phone']['0'].' </a>
    					</div>
    				</td>
    			</tr>
    		</tbody>
    	</table>
    </div>';


    На мой взгляд немного криво, но я не php шник.
    Вопрос закрыт, Но если кто скажет как было бы правильней это оформить отдельно скажу спасибо.
    Ответ написан
    Комментировать
  • В каком каталоге находится ядро Linux?

    shambler81
    @shambler81 Куратор тега Linux
    В линукс немного другая топология, если в windows программы распределяются по принципу одна программа одна папка в ней лежат и библиотеки и галереи и модули и компаненты и логи и в общем все.
    То в линуксе все лежит по видам файлов
    логи отдельно
    библиотеки отдельно
    запускашки отдельно

    По этому ПО рассыпается по всей системе.
    Тут нужно четко понимать что вы хотите найти, посколкьу под словом "ядро линукс" можно понять несколь разных вещей, в зависимости от степени качества поставленного вопроса.
    По этому опишите что именно вы хотите найти и зачем, от этого и будет ответ.
    Ответ написан
    Комментировать
  • VPS. Как настроить правильно апач чтобы он открывал не localhost, а определенный урл?

    1. удалите эту машину для работы с чистым линуксом у вас не хватает опыта.
    2. поставьте bitrix VM
    или vestacp
    или braynicp
    или боже упаси ispmanager
    (все они ставятся в 1 клик)
    собственно всей этой лабудой они буудт заниматься за вас, а в производительности вы ничего не потеряете.
    И дело тут не в апаче а в том что на веб сервере десятки демонов и их нужно конфигурировать
    начиная от bind заканчивая letsencrypt кудка как проще взять уже работающую систему.

    Если же вам интересно поразбираться то ispconfig3 ( не путать с ispmanager)
    Cам же ваш вопрос:
    у вс не локалхост у вас есть конфиг default который исполняет функции /dev/null только для веб сайта, в котором прописан "любой домен".
    для вашего же сайта вам нужно указать домен явно.
    то есть вы создаете отдельный конфиг с отдельными настройками применяете его.
    После этого неразобраные запросы идут в дефолтный конфиг а то что вам нужно через явно обозначеный домен.
    Собственно все.

    Зайдя по любому домену который приведет на этот сервер и технических и обычных и айпи в добавок. вы попадете в местный дев нул. то есть в конфиг дефолта.
    Но если в укажете частный случай то по попадете на конкретный конфиг и он вам даст другой путь.
    ServerName naydikvartiru.ru
            DocumentRoot /var/www/naydikvartiru/data/www/naydikvartiru.ru

    Однако и конфиги могут отличаться в зависимости как у вас построен веб сервер есть ли там nginx виды представления php количество их версий и тд и тп.
    Ответ написан
  • Подмена контента в зависимости от адреса сайта, как реализовать?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    ЭЭ кэп а документация не ?
    раз
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    два
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    И крутить костыль не имеет смысла поскольку есть официальный ,документированный способ.
    Ответ написан
    Комментировать
  • Как сделать массовый редирект страниц вложености?

    shambler81
    @shambler81 Куратор тега htaccess
    Перенаправляет все содержимое каталогов
    http://site.ru/любое/dir1/любое/любое

    RewriteCond %{REQUEST_URI} ^/dir1/(.*)$ 
       # если строка начинается с /dir1/ 
    RewriteRule ^(.*)$ /dir1%1 [R=301,L] 
       #Перенаправить все URL с начинающиеся с dir1 на dir2 с сохранением дальнейшей структуры URL
    Перенаправляет все содержимое каталогов с любым началом и концом
    http://site.ru/любое/dir2/dir1
    /любое/любое
    RewriteCond %{REQUEST_URI} ^(.*)/dir1/(.*)$ 
       # если строка содержит /dir1/ 
    RewriteRule ^(.*)$ %1/dir2/%2 [R=301,L] 
       #Перенаправить все URL с начинающиеся с dir1 на dir2 с сохранением дальнейшей структуры URL
    Ответ написан
    Комментировать
  • Битрикс загибается?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    И да и нет.
    Битрикс 24 как продукт компании куда как интересней и развивает он его явно активнее чем просто битрикс
    НО б24 сделан на битрикс так что полное вымирание ядра явно не грозит.
    Но кризис на лицо.
    Так же нужно понимать что рынок битрикс сужается
    снизу теперь его поджымают конструкторы, а в топе самопись.
    так же как вы заметили обратная совместимость битрикс дает о себе знать, на их месте я бы уже давно отказался от поддержки обновлений начиная с 7 версии, это же маразм никто в жизне не будет поднимать 7 битрикс до 20.
    Но политика партии, скорее всего все прийдет к тому же что и у php рано или поздно отказавшись от старого кода написав все заново, но время ввода D7 на рынок говорит то том что эта стратегия была провальна, выводить технологиию 10 лет это даже не смешно.
    Так же нужно понимать что у разрабов битрикса уже сложилось свое мнение.
    К примеру разговаривая с Садониным я спросил у него собираются ли они как-то изменять "эрмитаж" на что они сказали что он работает заебись, и никаких изменений не требуется!!!!
    Дада Вот это убожество по их мнению в 2020 совершенно нормально работает.

    В общем
    - Да интерес битрикс к битрикс падает в следствие б24
    - обратная совместимость делает невозможность сделать действительно достойный релиз.
    - застой технологии как таковой. С появлением kubernetas рано или поздно битрикс должен или перебраться полностью в облако или издохнуть или найти 3 путь, как и остальные движки.
    - Судьба php на данный момент находится ровно в той же позиции что и битрикс, оно все еще доминирует на рынке веба но есть куча мощьнейших конкурентов которые не дремлят.
    + Битрикс де факто еще является стандартом екомерц в РФ , и по факту его заменить тупо нечем.
    Делать проект с бюджетом в 1-10 млн на самописи это маразм, так что тут битриксу замены нет.
    В топовом сегменте битрикс никогда и не использовался, за исключением собственно чистого екомерц да и то как исключение.
    Ответ написан
    10 комментариев
  • Нужно ли настраивать FastCGI?

    shambler81
    @shambler81 Куратор тега Linux
    лучше всего сделать PHP-FPM это тот же FastCGI но немного быстрей и главное он отдает статусы процессов апачу.
    Что касается настроек то особо улучшить производительность относительно стоковых вы не сможете там плюс минус 10% в производительности так что можно сказат что нет не нужно настраивать.
    Ответ написан
    Комментировать
  • Как сделать редирект с папки на файл?

    shambler81
    @shambler81 Куратор тега htaccess
    Правильно ли я понимаю что вам нужно выполнить uslugi.php когда урл /page
    Если да то в этой папке в .htaccess впишите
    DirectoryIndex uslugi.php index.php
    или если очередность не нужна то просто
    DirectoryIndex uslugi.php
    Ответ написан
  • Как сделать чтобы была красивая ссылка в php?

    shambler81
    @shambler81 Куратор тега htaccess
    ЭТО называется ЧПУ
    blog.ox2.ru/php/hpu
    Ответ написан
    Комментировать
  • Как пофиксить проблемы с кириллицей в консоле BitrixVM?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    в битрикс вм нет проблемы с кодировкой, проблемы в кодировке вашей локальной консоли.
    5f3a404a0cfe2521591727.png
    Ответ написан
  • Как отменить последнее действие Битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    В Битрикс такое завезли, но можно откатить изменения в статье на предыдущую да и то если не сохранено, так что ответ никак.
    Ответ написан
    Комментировать
  • Преобразовать htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine On
    # включаем mod_rewrite
    
    #Частный случай,  редирект стоит выше чем на индекс ( читается сверху вниз)
    RewriteRule  /files/([0-9\.]+\/.+)$ /files/../download.php\?file=$1
    
    #Условие если  это не файл index.php
    RewriteCond %{REQUEST_FILENAME} !/files/../index.php$
    #  и если это не файл  download.php
    RewriteCond %{REQUEST_FILENAME} !/files/../download.php$
    #То все мело кидаем на индекс
    RewriteRule ^/files/($ /inde.php [L]

    как-то так, Но нужно проверить.
    Ответ написан
  • TO_MANY_REDIRECTS при включении редиректа на https?

    https://klondike-studio.ru/standards/standartnyy-h...
    писал тут как сделать.
    Причина в том что все маны а как следствие и сервера в мире настроены с ошибкой и host при nginx+apache не сохраняется
    а заменяется и в результате этой дебильной схемы страдает js которому нужно знать на каком протоколе сейчас он находится, ну и редиректы поскольку хост не соответствует тому что нужно, в результате опять срабатывает правило редиректа.
    Короче все что вам нужно это подобрать редирект кторый подойдет на вашей конфигураци.
    Примеры я дал в ссылке
    ЧПУ битрикса разместить в самом конце
    Ответ написан
    1 комментарий
  • Товарищи как прописать GET запрос в URL Htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    это называется ЧПУ
    Вот один из примеров
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    # если это не файл
    RewriteCond %{REQUEST_FILENAME} !-l
    # и если это не линка
    RewriteCond %{REQUEST_FILENAME} !-d
    # и это не директория
    RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$

    # защита от цикла , если это уже не файл обраюатывающий урл
    RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
    #То перенаправить на тот файл который будет обрабатывать ссылку в данном случае это не индекс
    Ответ написан
    Комментировать