Ответы пользователя по тегу Apache HTTP Server
  • Объясните нормальным языком что такое RewriteBase?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteBase /
    # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
    Ответ написан
    Комментировать
  • Что значит регулярное выражение в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    %1 - переменная с конда
    $1 из самого реврайт рула
    Ответ написан
    Комментировать
  • Как объединить регулярные выражения в одно?

    shambler81
    @shambler81 Куратор тега htaccess
    гыгы прикольно, для начала немного отдебажем твое художество.

    ############################################################################
    #### Cтандартный .htaccess для проектов студии Клондайк, версия 2.3     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    RewriteCond %{HTTPS} on
       # Проверяем наличие https в URL.
    RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI}
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Выбор основного зеркала (или с www или без www)                    ####
    ############################################################################
       # 1. Редирект с www на без www. (раскоментировать директивы пункта 1)
    #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
       # Проверяем, содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
       # Перенаправляем URL на домен без www.
    ####
       # 2. Редирект без www на www. (раскоментировать директивы пункта 2)
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
       # Проверяем, не содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
       # Перенаправляем URL на домен c www.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteRule . %1/%2 [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 нет точки (файл).
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    Ответ написан
  • Apache2 rewrite. Как переделать?

    shambler81
    @shambler81 Куратор тега Linux
    используй отрицание.
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^(www\.|)test\.site\.ru$ [NC]
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    Ответ написан
  • Почему код PHP выводится просто как текст?

    Убедись что у тебя нет ничего подобного в конфигах или .htaccess
    Deny From All
    или

    <IfModule mod_mime.c>
            <Files ~ \.(php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht|py|psp|rb|var)>
                    SetHandler text/plain
                    ForceType text/plain
            </Files>
    Ответ написан
    Комментировать
  • Как удалить слеш из URI в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Нет немного сложней нужно еще учесть файлы 
    которым требуется наоборот его убирать и тд. В низу расписаны частные случаи. 
    Рекомендую  поставить весь кусок.
    
    ############################################################################
    #### Cтандартный .htaccess для проектов студии Клондайк, версия 2.3     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase /
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    RewriteCond %{HTTPS} on
       # Проверяем наличие https в URL.
    RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI}
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Выбор основного зеркала (или с www или без www)                    ####
    ############################################################################
       # 1. Редирект с www на без www. (раскоментировать директивы пункта 1)
    #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
       # Проверяем, содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
       # Перенаправляем URL на домен без www.
    ####
       # 2. Редирект без www на www. (раскоментировать директивы пункта 2)
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
       # Проверяем, не содержит ли домен www (в начале URL).
    #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
       # Перенаправляем URL на домен c www.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteRule . %1/%2 [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 нет точки (файл).
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    ############################################################################
    #### Сжание контента  под требование гугла                        ####
    ############################################################################
    
    <IfModule mod_deflate.c>
      # Compress HTML, CSS, JavaScript, Text, XML and fonts
      AddOutputFilterByType DEFLATE application/javascript
      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
    
      # Remove browser bugs (only needed for really old browsers)
    #  BrowserMatch ^Mozilla/4 gzip-only-text/html
    #  BrowserMatch ^Mozilla/4\.0[678] no-gzip
    #  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    #  Header append Vary User-Agent
    </IfModule>
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 3 day"
      ExpiresByType image/gif "access plus 3 day"
      ExpiresByType image/png "access plus 3 day"
      ExpiresByType text/javascript "access plus 3 day"
      ExpiresByType text/css "access plus 3 day"
      ExpiresByType application/javascript "access plus 3 day"
    </IfModule>
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    Ответ написан
    Комментировать
  • Почему не работает php_admin_value в конфиге сайта?

    1 какойд мод php mod_apache mod_fastCGI php-fpm ?
    Какая ос , в дебиана подобных этих php.ini несколко штук по умолчанию, а еще они могут быть у каждого сайта свои.
    phpinfo в студию, именно на этой страничке
    Ответ написан
    Комментировать
  • Apache 2.4 mod_rewrite почему не работает проверка на наличие файла?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_URI} ^/([^/]+)/thumb/([^/]+)(/.+)?/(.+)\.(jpe?g|png|gif|svgz?|tiff?)$ - точно работает ?

    может так
    RewriteCond %{REQUEST_URI} ^([^/]+)/thumb/([^/]+)(/.+)?/(.+)\.(jpe?g|png|gif|svgz?|tiff?)$

    Да и вообще у тебя чет многовато начала строк

    Дай лучше список реальных ссылок покрасивше сделаем.
    Ответ написан
    Комментировать
  • Как сделать редирект с get запроса в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    у вас ошибка в руле.
    https://donatstudios.com/RewriteRule_Generator
    Ответ написан
    Комментировать
  • Как убрать появившиеся get параметры при 301 редиректе через .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    вопрос еще не решен?
    Так удалить гет вообдще

    RewriteRule .* /sait_vizitka?
    - обрати внимание на вопросик в конце, он удалит гет
    если тебе нужно работать с самим гетом и убрать часть их то это немного неправельно поставленный вопрос
    RewriteRule работает с урлом, гет не являетя его частью в принципе.

    Вмм нужно двухуровневую конструкцию
    # 301 --- http://shop.wildorchid.ru/Catalog/StyleCard.aspx?&shop=2&categoryid=2046&style=27600 => http://shop.wildorchid.ru/catalog/trusy/1465-vendetta/?show_all=N&arrFilter_199_447073417=Y&arrFilter_P1_MIN=500&arrFilter_P1_MAX=1399&CHECK_PRICE=N&orderBy=new_desc&set_filter=Y
    RewriteCond %{QUERY_STRING} (^|&)shop=2($|&)
    RewriteCond %{QUERY_STRING} (^|&)categoryid=2046($|&)
    RewriteCond %{QUERY_STRING} (^|&)style=27600($|&)
    RewriteRule ^Catalog/StyleCard\.aspx$ /catalog/trusy/1465-vendetta/?show_all=N&arrFilter_199_447073417=Y&arrFilter_P1_MIN=500&arrFilter_P1_MAX=1399&CHECK_PRICE=N&orderBy=new_desc&set_filter=Y [L,R=301]


    Ну и да редирект на гет запрос, следовательнов вам нужно поменять ? на # и будет вам счастье.
    Ответ написан
    Комментировать
  • Как в mod_rewrite сделать URL с отутствующими папками?

    shambler81
    @shambler81 Куратор тега htaccess
    да вам нужно это сделать в nginx
    Ответ написан
    Комментировать
  • Как настроить PHP и Apache/Nginx для учебы?

    shambler81
    @shambler81 Куратор тега Linux
    open-server.ru
    никакой вам ламп не нужен.
    куча инструмента для учебы все вместе
    апача+энгинкс версионности и тд весь инструментарий в 1 дисрибутиве.
    Если бы на винде сидел так бы и не парился
    Ответ написан
  • Как запретить доступ к Apache из интернет?

    shambler81
    @shambler81 Куратор тега Linux
    Обычно вопрос в обратном ;)
    роутер слушать локальный порт , домен локальный через хост файл,
    Вариантов просто милион
    Ответ написан
  • Как правильно переносить сайт на другой сервер?

    shambler81
    @shambler81 Куратор тега Linux
    все так только вы забыли самое главное, .htaccess переписать в nginx нужно
    Ответ написан
    Комментировать
  • Где найти адекватную инструкцию по настройке локального сервера на Linux mint?

    shambler81
    @shambler81 Куратор тега Linux
    поставь ispconfig3 к нему есть платный инсталятор за 5 баксов, собраный русским парнем, мы сним активно общаемя и могу заверить что его сборка явно будет лучше того что ты соберешь сам.
    Помоему есть даже бесплатная лайт версия
    forum.mini-server.ru/viewtopic.php?f=33&t=764
    Ответ написан
    Комментировать
  • Можно ли использовать выборочно apache и ngnix?

    shambler81
    @shambler81 Куратор тега Linux
    парни правы но если уже говорить о вариантах имено вопроса то
    все заводить в nginx а там или отдавать php-fpm на самом nginx ну а те что нужно держать на мод apache отдавтаь проксей на апачь
    Ответ написан
  • NGINX Не передает запросы на второй сайт?

    Погоди а где у тебя тут вообще второй сервер присутствует ?
    у теб я proxy_pass 10.20.1.2:1080/; и все, откуда второй сервер?
    http {
        upstream myapp1 {
            server srv1.example.com;
            server srv2.example.com;
            server srv3.example.com;
        }
    
        server {
            listen 80;
    
            location / {
                proxy_pass http://myapp1;
            }
        }
    }
        }

    У тебя вообще где?
    Ответ написан
  • Cвязка nginx+apache и отдача jpg картинки с использованием чпу

    error_page 404 = @fallback;
    #--------------Все 404 отдаем на обработку апача-------------------------------
    location @fallback {
    proxy_pass http://$host:82;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
    Ответ написан
    Комментировать
  • Nginx + apache 2, ubuntu 11.10, 504-ая ошибка?

    как вариант разреши апачу делать это лично. Пропусти проксирование данного вида файлов в этой папке.
    так же есть try_files
    error_page 404 = @fallback;
    #--------------Все 404 отдаем на обработку апача-------------------------------
    location @fallback {
    proxy_pass http://$host:82;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
    Ответ написан
    Комментировать
  • Как выявить 404 ошибку в nginx на 80 порту и перенаправить запрос на 8080 порт, который слушает apache сервер?

    error_page 404 = @fallback;
    #--------------Все 404 отдаем на обработку апача-------------------------------
    location @fallback {
    proxy_pass http://$host:82;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    Ответ написан
    Комментировать