Ответы пользователя по тегу Apache HTTP Server
  • Нужно оставлять конфиг только с SSL?

    По моему это очевидно, в интернете есть куча инструкций по переходу с http на https
    ни в одной вы не встретите удаления конфига.
    Если сайт уже перешел на https и вес передался, то старый http нужно переклеить редиретком на https

    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{ENV:HTTPS} !on
       # Проверяем наличие https в URL.
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    Ответ написан
    Комментировать
  • Как сделать rewrite на поддомен?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{HTTP_HOST} ^(www\.|)domain\.com [NC]
    # исключаем цикл, по этому проверяем наличие домена или его же с ввв
    RewriteCond %{QUERY_STRING} (^|&)login=test($|&)
    #проверяем GET параметр и запоминаем его как %2 (поскольку скобка уже 2, первая и 3 это всего лишь поскольку гет может быть и в середине  уже после &
    RewriteRule ^/user(.*)$ /? http://%2.domain.com/$1[L,R=301]
    # первая  %2  вторая скобка из cond  $1 это скобка из  RweriteRule

    Проверить надо но работать должно.
    Ответ написан
    Комментировать
  • Не получается сделать редирект с http:// на https://, через htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    1. поставь редирект перед ЧПУ
    2. не все сервера понимают именно такую конструкцию, хотя все верно, в интернете есть куча вариантов написания, просто перебери.
    Как настроить редирект на https в.htaccess?
    и не забудь что у тебя есть езе зеркало с ввв
    ему тоже нужно сделать редирект, или включить его в регулярку.
    Ответ написан
    Комментировать
  • Как прикрепить несколько доменов к одному главному (что то на подобе мультисайта)?

    Это называется зеркала ( кстати вредно для SEO)
    Версия для апачь
    ServerName site1.ru
    ServerAlias www.site1.ru site2.ru site3.ru site4.ru


    версия для nginx
     server_name 1c-seller.ru www.1c-seller.ru ;


    НУ и есть еще пара вариантов например заливать в дефолтную папку ( но на хостингах обычных этот косяк как правило недоступен.
    nginx
    server_name _;
    apache2
    <VirtualHost _default_:80>
    В таком случае вообще все запросы будут приходит в папку сайта.
    НО это часто используется, нов сеже ошибочное решение.

    В вашем случае нужно сделать это на хостинге через веб панель или админку, поскольку вы не указали ни админку ни хостера то трудно сказать как именно вам поступить, Но в конечном итоге в конфигах должны появиться вот эти параметры.
    Ответ написан
  • Как исправить 400 bad request в IE для запросов с гет-параметрами на кириллице?

    А кто такой IЕ
    вы зайдите в метрику покажите статистику по "приложению для скачивания браузеров" и поймите что 0.7% это не та штука которую вообще нужно поддерживать. так же русские символы нужно приводить в качественный вид типа %20 и тд
    Ответ написан
    Комментировать
  • Как правильно настроить .htaccess при переносе сайта в подкатегорию?

    shambler81
    @shambler81 Куратор тега htaccess
    open_basedir: /home/account/site.com этож нахреа козе баян?
    Если не понимаешь в чем проблемам, сделай "символическую ссылку", пусть будет папка доступна по обоим адресам. тебе жалко чтоли?
    Зато не нужно будет разбираться что происходит.
    А еще лучше исправь doceumentroot в виртуалхосте веб сервера.
    Ответ написан
  • Есть ли возможность указать в .htaccess директиву ErrorDocument для всех ошибок?

    shambler81
    @shambler81 Куратор тега htaccess
    ErrorDocument 400 /error/400.html
                            ErrorDocument 401 /error/401.html
                            ErrorDocument 403 /error/403.html
                            ErrorDocument 404 /error/404.html
                            ErrorDocument 405 /error/405.html
                            ErrorDocument 500 /error/500.html
                            ErrorDocument 502 /error/502.html
                            ErrorDocument 503 /error/503.html

    И да код передать можно но зачем, их не так много и текст к ним нужно писать отдельно.
    Ответ написан
    Комментировать
  • Работа с веб-сервером - что читать и смотреть?

    да там все на самом деле достаточно просто, и уж тем более linux и его философия легко дается программистам.
    По сути тебе нужно немного подучить: как рестарт релоад делать, чем редактировать конфиги, права файлы. Где и как хранятся логи, как их читать.
    А дальше как подгрузить "плагин" и изменить конфигурацию в файле это мелочи.
    я так понимаю со стеком TCP\IP тоже особо проблем нет и что такое порт и IP ты в состояние понять.
    Что такое http заголовок то-же.
    Остальное объясняется за день два
    Понятно гуру ты не станешь но просветление точно пойдет.
    В идиале настроить с бро веб сервер своими руками ( не тупо апачь поднять) а настроить веб морду прописать конфиги подключить генераторы шаблонов и тд и тп, после этого у тебя 90% вопросов исчезнут а последние 10 ты уже смоешь по аналогии сам наковырять. ( и после этого ты поймешь как убога винда с ее софтом)
    Книги здорово и полезно но с опытным человеком у тебя займет куда меньше времени.
    А догнаться уже можно будет как-раз и книгами.
    ps. крон объясняется за 5 минут
    Ответ написан
    Комментировать
  • Почему не работает сайт - mpm_prefork:error?

    MaxClients 10000
    Поставьте стандартное значение, сайт заработал, ман гугл интернет 30 секунд займет для выставления макс клиент 10000
    Ответ написан
    Комментировать
  • Как правильно настроить Apache server?

    apache2 может запускать каждый vitrualhost на любом порту по отдельности, притом в отличие от любых других демонов на одном порту он может запускать любое количество virtualhost
    Listen - это толок что он слушает, но порт сайта определяется в virtualhost

    что-то типа
    # Ensure that Apache listens on port 80 
    Listen 80 
    
    # Listen for virtual host requests on all IP addresses 
    NameVirtualHost *:80 
    
    <VirtualHost *:80> 
    DocumentRoot /www/example1 
    ServerName www.example1.com 
    
    # Other directives here 
    
    </VirtualHost> 
    
    <VirtualHost *:80> 
    DocumentRoot /www/example2 
    ServerName www.example2.org 
    
    # Other directives here 
    
    </VirtualHost>
    Ответ написан
  • Как запретить доступ по реальному URL с помощью 301 на его алиас mod_rewrite?

    shambler81
    @shambler81 Куратор тега htaccess
    правильно ли я понимаю что вы перенаправили на php а потом обратно на html ? и вам нужно сделать это два раза?
    ООчень странно
    Но есл иэто так то не проще ли в php файл положить html
    более подробно опишите тз
    Ответ написан
  • Как правильно добавить слеш в конце адреса?

    shambler81
    @shambler81 Куратор тега htaccess
    отнють не всегда его можно добавлять, а иногда нужно наоборот
    ############################################################################
    #### Убираем слеши в конце 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 нет точки (файл).
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.

    Часто используемые правила я более подробно описывал тут.
    https://klondike-studio.ru/standards/standartnyy-h...
    Ответ написан
    4 комментария
  • Как запустить сайт на второй машине?

    У апача нет с этим проблем
    разделение идет не по IP (ну если вы этого принудитлеьно не захотели)
    А по заголовку
    По сути на одном порту и одном айпи может висеть любое количество сайтво и это никак не помешает апачу.
    Просто создавайте конфиги в виртуал хосте указывайте имя сайта а не его айпи.
    Этого будет достаточно.

    <Directory /var/www/site2.ru>
               </Directory>
            <VirtualHost site.ru:80>
    .......
    Ответ написан
    Комментировать
  • Почему не работает RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]?

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php\?url\=$1 [L,QSA]
    Options +FollowSymlinks
    Ответ написан
  • Как сделать 301 редирект для всего сайта с http и www на https без www?

    ############################################################################
    #### Выбор основного зеркала (с 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 %{ENV:HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    #RewriteCond %{ENV:HTTPS} !on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    Ответ написан
  • Как правильно настроить htaccess если используется RewriteBase?

    shambler81
    @shambler81 Куратор тега htaccess
    реврайт бэйс не должен мешать
    ну на всякий положи в него свой редирект на ввв в начале файла
    Ответ написан
    Комментировать
  • Что означают данные Apache rewrite-правила?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule (.*) https://myfotos.cc/$1 [R=301,L]
    Все урлы добавят все что было в скобках в начале, посколькуо в начале в скобках вся часть урла, то они добавят сверху https://myfotos.cc/тут_все_что_было_до_ этого, но это правило приведет к циклу.

    RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
    любые вимволы в любом количестве[^\/]- это кроме / , далее все это подставить вместо $1 тобишь добавить слеш вначале и в конце, тоже идиотское правило.
    Redirect 301 /en/ https://myfotos.cc/
    Перенаправить урл /en/ на ллавную https://myfotos.cc/
    RewriteRule ^index\.html$ / [R=301,L]
    index.html на /
    RewriteRule ^/?$ "https\:\/\/myfotos\.cc" [R=301,L]

    Начло строки со / и одного любого символа - на каой-то бред это не будет работать.
    Он пытается перенаправить пеочему-то в ковычках хотя их в мод реврайте на htts: у которого так же экранированы двоеточия, которое нахре н не нужно, экранировано два слеша которые тоже нафиг не нужно ну и домен опять со слешем и опять ковычки, короче хотели сделать редирект на главную страничку c https
    Redirect 301 /en/ https://myfotos.cc/
    А это проавило уже повторяется
    Ответ написан
    Комментировать
  • Apache или nginx?

    shambler81
    @shambler81 Куратор тега Linux
    NGINX+PHP-FPM
    Ответ написан
    Комментировать
  • Сайт работает, админка пропала, белый экран?

    проверьте сайт на вирусы.
    ai-bolit.php
    https://revisium.com/ai/ скачивайте запускайте проверяйте
    восстанавливайте
    Ответ написан
    Комментировать