Ответы пользователя по тегу Apache HTTP Server
  • Как сделать редирект http и www и скрыть папки в url и расширение файлов?

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

    ну во первых вам если нужно оставить домен но поменять контент с другого домена, не подойдет редирект.
    Это или проксирование или создать линку в файловой системе на удаленны сервер или если у вас есть nginx то там накрутить но это не редирект.
    во вторых.
    сайт по айпи и не должен отдаваться это не обязательное условие, поскольку конфиг сайта определяется по http reffery а не по айпи и порту.
    Нужно это именно из-за того что несколько сайтов висит на одном порту и айпи
    Ответ написан
    1 комментарий
  • Как настроить 301 редирект с верхнего на нижний регистр в WordPress?

    И в очередной раз спрошу зачем сей идиотский редирет ?
    1. В винде в отличие от линукс регистр не имеет значинея, а вот в линуксе на уровне файловой системы имеет.
    Так что вам прийдется исключить все реально существующие дирректории и каталоги и линки.
    2. покажите кейс скриншогтом когда у вас в метрике виден вход на такую страницу с ошибочным регистром урла.
    А потом мы вернемся к сеему идиотскому редиректу.
    Ответ написан
    Комментировать
  • Какую OC и веб-сервер выбрать для сайта?

    поставь битрикс вм, тебе ее за глаза хватит
    centos + bash скрипт, далее вам нужно будет поменять только mbstring... =0 и у вас будет отличная оптимизированная машина, со всемми nginx+apache
    https://www.1c-bitrix.ru/products/vmbitrix/
    для любой системы виртуализации
    ну а если вы ставите на машину то repos.1c-bitrix.ru/yum/bitrix-env.sh
    так
    Ответ написан
  • Как установить время выполнения скрипта при переходе с PHP 5.6 на PHP 7.2?

    .htaccess file

    <IfModule mod_php5.c>
    php_value max_execution_time 300
    </IfModule>
    Ответ написан
    Комментировать
  • Как настроить правильный редирект c www?

    shambler81
    @shambler81 Куратор тега htaccess
    это неправельно настроеный nginx к сожалению это достаточно чатое явление.
    Пропишите явно домен куда делать редирект, и все.
    Ответ написан
    Комментировать
  • Как создать виртуальных хост в Apache только для одного сайта?

    1. поставьте веб панель дабы есть из чего выбрать, смысл вам писать эти хосты самому?
    2. все маны на два домена поскольку есть разница между первым и вторым, поскольку первый ловушка на любые домены, а второе конкретный домен.
    Разница же между суб доменом и доменом для апачь нет.
    Это разные сайты совершенно, так что этот конфиг подойдет как для суб домена так и для любого другого сайта.
    Ответ написан
    Комментировать
  • 2 сайта на одном IP (один с SSL,другой без SSL)?

    1. лучше сделай оба с ssl, дабы letsencrypt работает как часы.
    2. Cпецифика веб серверов что подбор сайта идет не по айпи и не по порту, поскольку в свое время экономили айпи и сейчас сайты определяются по http рефери, то есть по заголовку. тем самым можно на одном порту и айпи вешать любое количество сайтов, все здорово пока дело не доходит до https
    поскольку как вы понимаете https не подразумевает вначале получить рефери а потом подключение. Ибо шифрация канала идет до получения данных. А как следствие https не имеет возможности прочитать рефери.
    КАк следствие ему приходится делать очень странный ход конем
    Если он видит сайт но не видит ключи, то он находи Ближайшие именно ближайшие и подставляет их, как следствие и его конфиг.
    Ответ написан
    5 комментариев
  • Перенаправление без замены строки (mod_rewrite — RewriteRule) как реализовать?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{HTTP_HOST} !^www\.domain\.ru [NC]
    # если это ! = не сам домен с ввв
    RewriteCond %{HTTP_HOST} ^(www\.|).+\.domain\.ru [NC]
    # если это ввв или без ввв, плюс это 1 и более символов до основного домена, точки экранируем.
    RewriteCond %{REQUEST_URI} ^(.+)\.(html|htm)$
    # ну я так написал, у тебя тоже пойдет
    RewriteCond %{REQUEST_FILENAME} !-d
    # И это не директория.
    RewriteCond %{REQUEST_FILENAME} !-f
    # не является файлом.
    RewriteCond %{REQUEST_FILENAME} -l
    # и не линка, в общем это не физический объект
    RewriteRule ^(.*)$ / http://domain.ru/\?page\=%2/? [R=301,L]
    # Группа с реврайт гонда это не баксы а проценты, принцип тот -же, теперь подставляем домен в рул, и главное экранируем ? это воообщет спецсимвол. который кстати у нас стоит в конце, он удалит все гет параметры.
    Естественно домен прописываем явно, поскольку нам нужно его сменить а это не часть урла.
    Есл гужно сохранить протокол то правило обрастет еще 3 строками.
    Ответ написан
  • Почему не вижу сайт по доменному имени в локальной сети?

    Если у вас сайт один, то положите его в /var/www
    как правило при установке апача он создает конфиг который собирает ВСЕ запросы и пересылает их в эту папку.
    Да она сработает на любой домен или айпи этого сервера но в принципе вас это устраивает
    Если же вам нужно два сайта и более такой номер не пойдет.
    Ответ написан
    Комментировать
  • В чем разница между статическими и динамическими данными WEB, на примере картинки во вложении?

    И да и нет
    1. статика в класическом виде jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3
    Как правило это именно физически имеющиеся файлы.
    НО
    Как вы понимаете не все эти файлы реально статика
    например .html может быть частью ЧПУ в таком случае вы не найдете этого файла на диске, посколкьу это ЧПУ
    И естественно его лучше не включать в статику, или добавлять доп проверку что файл существует.
    То же самое к sitemap.xml который может ЧПУ перекидывать на sitemap.php
    И даже Robots.txt - но это уже редкость.
    По этому нужно делать дополнительную проверку если фйл 404 то пытаться отдать его чере апач, а посколкьу это общее правило ко всем частным случаям то добавлять его в самом начале конфига.
    Динамика это то что собирает СМС, те урлы которые отдают 200 но на диске этих файлов нет.
    Вот кстати само ЧПУ проверяет нет ли физически таких файлов.
    <IfModule mod_rewrite.c>
      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]  # то перекинуть  в пхп ( в данном случае это битрикс)
    </IfModule>

    Именно так движок разделяет статику и динамику, дуаю это ближайшее к определению.
    В таком раскладе физический файл пхп это статика а вот если его нет это динамитка
    Если .html - файл есть это статика - если его нет то динамика.
    Ответ написан
    Комментировать
  • Как перенаправить папку apache?

    shambler81
    @shambler81 Куратор тега htaccess
    Самый правильный вариант это использовать ln мягкую ссылку.
    И не городить приколов с редиректами.
    Ответ написан
  • Не правильны заголовок изображений, скриптов при отдаче от сервера. В чем причина?

    скорее всего у вас nginx+apache собственно статика вся идет сразу с nginx и о существование в мире apache они даже не подозревают, не говоря уже о некоем .htaccess
    Ответ написан
  • Почему httpd (apache) отдает не тот сайт?

    К сожалению вы не понимаете работы https ;)
    По умолчанию апачь для экономии белых IP научился ложить все сайты на один IP и на один же порт, для этого в нем придумали костыль, он берет host из рефери и подставляет нужный конфиг
    А вот при работе через https
    Соединение как вы понимаете устанавливается ДО получения этого рефери.
    В следствие этого нет технической возможности получить вначале host а по нему найти конфиг.
    По этому ( не спршивайте меня почему так это загадка покрытая мраком)
    вместо того чтобы сказать я честно не знаю где взять ключи, он ищет БЛИЖАЙШИЕ ключи которые он находит ( по алфавиту и подставляет их везде
    А поскольку порт слушается то ВСЕ сайты на сервере получают 443 порт, как следствие единственные ключи на всех ;) ну и да прицепом документ рут может хватануть это ваще номер.
    ps
    Перестановка мест слагаемых в этом случае как-раз таки все решает ;)
    1. Удалите все ключи типа дефолтные ssl.conf, убедитесь что нет никаких левых ключей.
    2. Каждому сайту все свое, попробуйте запустить отдельно субдомен без первого проверьте что все ключи на нем работают.
    3. на сайты вовсе без https поставьте заглушку которая будет подставлять принудительно ключи и отдает 404.
    4. как опциональный третьего пункта включите ssl.conf но зазвав его 000-ssl.conf гыгы ;) теперь его ключи будут первыми попавшийся ;)
    5. если уже совсем ничего не помогает то можно развести их по IP тогда у них выхода не будет, поскольку будут сллушаться разные порты на разных айпи
    Например так
    12.34.56.78:443
    12.34.56.79:443

    или если у вас nginx +apache

    12.34.56.78:443
    12.34.56.78:444
    Ответ написан
    Комментировать
  • Нужен веб менеджер htpasswd, что посоветуете?

    Ответ написан
    Комментировать
  • Почему сервер падает после нескольких перезагрузки страницы?

    shambler81
    @shambler81 Куратор тега Linux
    ЭТО НЕ УМНЯШЫ а дефолтные настройки apache или nginx, они дефолтные же лет как дцать. А технологии изменились, как и количество памяти и процов.
    Вам в лог смотрите там будет написано лимит чего вы привысили.
    Ответ написан
    Комментировать
  • Config apache + nginx для нагруженного проекта?

    shambler81
    @shambler81 Куратор тега Linux
    nginx+apache2+PHP-FPM

    spoiler
    nginx{

    ######################################################################
    ## Server configuration
    ######################################################################
    listen *:80;
    server_name test3.ks03.ru ;
    root /var/www/test3.ks03.ru/web;

    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены
    error_log /dev/null crit;
    access_log off;

    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча, а так же некоторая статика отдается
    # средствамси php, по этому все ошибки обрабатывать только apache2
    error_page 401 403 404 405 500 502 503 = @fallback;
    location @fallback {
    proxy_pass http://127.0.0.1:82;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files

    location ~ /\.ht {
    deny all;

    access_log off;
    log_not_found off;
    }
    ##
    location = /favicon.ico {
    log_not_found off;
    access_log off;
    }
    ##
    location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
    }
    ##
    ######################################################################
    # сервисы на сайте phpmyadmin почта и letxencrypt
    location /phpmyadmin/ {
    deny all;
    }
    ##
    location /webmail/ {
    rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    }
    # letsencrypt
    location /.well-known/acme-challenge/ {
    alias /usr/local/ispconfig/interface/acme/;
    default_type text/plain;

    }
    # static content
    # Отдаем статику напрямую с nginx
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    root /var/www/test3.ks03.ru/web;
    access_log off;
    expires 30d;
    }

    # default location
    location / {
    index index.php index.html index.htm;
    proxy_pass http://127.0.0.1:82;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    }


    server {
    ######################################################################
    ## Server configuration
    ######################################################################
    listen *:443 ssl http2;
    server_name test3.ks03.ru ;
    root /var/www/test3.ks03.ru/web;

    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
    ssl on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1h;
    ssl_protocols TLSv1.2 TLSv1.1;
    add_header Strict-Transport-Security "max-age=15768000" always;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
    ssl_certificate /var/www/clients/client2/web2/ssl/test3.ks03.ru-le.crt;
    ssl_certificate_key /var/www/clients/client2/web2/ssl/test3.ks03.ru-le.key;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены
    error_log /dev/null crit;
    access_log off;

    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча, а так же некоторая статика отдается
    # средствамси php, по этому все ошибки обрабатывать только apache2
    error_page 401 403 404 405 500 502 503 = @fallback;
    location @fallback {
    proxy_pass https://127.0.0.1:4443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header HTTPS YES;
    }

    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files

    location ~ /\.ht {
    deny all;

    access_log off;
    log_not_found off;
    }
    ##
    location = /favicon.ico {
    log_not_found off;
    access_log off;
    }
    ##
    location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
    }
    ##
    ######################################################################
    # сервисы на сайте phpmyadmin почта и letxencrypt
    location /phpmyadmin/ {
    deny all;
    }
    ##
    location /webmail/ {
    rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    }
    # letsencrypt
    location /.well-known/acme-challenge/ {
    alias /usr/local/ispconfig/interface/acme/;
    default_type text/plain;

    }
    # static content
    # Отдаем статику напрямую с nginx
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    root /var/www/test3.ks03.ru/web;
    access_log off;
    expires 30d;
    }

    # default location
    location / {
    index index.php index.html index.htm;
    proxy_pass https://127.0.0.1:4443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header HTTPS YES;
    proxy_set_header X-Forwarded-Proto https;
    include /etc/nginx/locations.d/*.conf;
    }
    ######################################################################
    ## Directives configuration
    ######################################################################

    }
    Ответ написан
    1 комментарий
  • Как закрыть прямой доступ к файлам в папке через .htaccess, но разрешить если есть ?key=secret?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} !(^|&)key\=secret($|&)
    RewriteRule ^orders/1\..+$ http://test.ru/404.php [L,R=301]


    Если нет GET параметра key=secret
    То отправить куда-нибудь , например 404.php
    Ответ написан
    Комментировать
  • Правильный редирект на https | Конфиг или htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Убираем

    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


    добавляем
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    Ответ написан
    Комментировать