wgame 20 февраля 2015 0 13
Подскажите пожалуйста как сделать поддомены в одной папке с доменом
конфигурационный файл
upstream backend-site {server unix:/var/run/php5-site.sock;}

server {
        listen                          80 default;
        server_name                     site.ru www.site.ru sub.site.ru;
        root                            /var/www/site/www;
        access_log                      /var/log/nginx/site-access.log;
        error_log                       /var/log/nginx/site-error.log;
        index                           index.php index.html;
        rewrite_log                     on;
        if ($host != 'site.ru' ) {
                rewrite                 ^/(.*)$  http://site.ru/$1  permanent;
        }
        location ~* ^/core/ {
                deny                    all;
        }
        location / {
                try_files               $uri $uri/ @rewrite;
        }
        location /index.html {
                rewrite                 / / permanent;
        }

        location ~ ^/(.*?)/index\.html$ {
                rewrite                 ^/(.*?)/ // permanent;
        }
        location @rewrite {
                rewrite                 ^/(.*)$ /index.php?q=$1;
        }
        location ~ \.php$ {
                include                 fastcgi_params;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass    backend-site;
        }
        location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
           access_log           off;
           expires                      10d;
           break;
        }
        location ~ /\.ht {
                deny                    all;
        }
}





пробовал разные конфигурации но все время перекидывает на основной домен
помогите разобраться буду признателен за любую помощь
13 комментариев
Fi1osof1
Fi1osof 20 февраля 2015г в 19:31 #
У вас в общих чертах ОК все, но зачем же вы тогда ограничиваете конфиг всего одним хостом?
if ($host != 'site.ru' ) {
                rewrite                 ^/(.*)$  http://site.ru/$1  permanent;
        }
w
wgame 20 февраля 2015г в 19:34 #
первым делом это попробовал удалил его полностью перезапустил nginx но все равно идет перенаправление на главный домен
w
wgame 20 февраля 2015г в 19:35 #
у регистратора добавил a запись с поддоменом и ip адресом домена
Fi1osof1
Fi1osof 21 февраля 2015г в 07:31 #
Все верно.
1. направить домен и все поддомены на один сервер.
2. на уровне сервера рулить эти поддомены, направив их в одну папку.

Сейчас все работает?
w
wgame 21 февраля 2015г в 10:25 #
нет
это
у регистратора добавил a запись с поддоменом и ip адресом домена
я еще в самом начале сделал
Fi1osof1
Fi1osof 21 февраля 2015г в 10:47 #
Я не понял, у вас поддомен sub.site.ru ведет на указанную папку или нет? Что вообще сервер отвечает при запросе?
w
wgame 21 февраля 2015г в 13:49 #
ну сейчас конфиг выглядит так yadi.sk/i/615xzTF2ep6YD
систему настроил так yadi.sk/i/0jKasNZQep6k3 yadi.sk/i/KKuK5tpJep6k7 yadi.sk/i/8fSA1fl1ep6kD
стоит xrouting
wgame.info/ открывает нормально
wgame.info/en/ открывает нормально
wot.wgame.info/ неренаправляет на wgame.info

в dns прописано a запись типа wot ip адрес сервера

а если набрать как www.wgame.info/ то вообще страница не доступна
Fi1osof1
Fi1osof 21 февраля 2015г в 14:01 #
www. — это тоже поддомен, на минуточку. Его тоже надо прописывать. Добавьте cname-запись Name — *, Hostname — @ joxi.ru/ZrJVWD0uDlkxrj

wgame.info/en/ открывает нормально
А вот en/ — совсем уж не поддомен, а просто раздел текущего домена.

Судя по всему у вас поддомен ведет куда надо, но переброс происходит на уровне веб-сервера, скорее всего или в .htaccess прописан редирект, или сам сайт перебрасывает. Случайно не используется какой-нибудь babel или типа того?
w
wgame 21 февраля 2015г в 14:16 #
пока нет сегодня с утра полностью переустановил сервер
Сервер строится на базе Ubuntu + Nginx + Php5-fpm
установил и настроил систему
кроме ace и xrouting ничего не устанавливал

что интересно но при тех же настройках modx когда стояла vestacp все работало замечательно. но решил попробовать Nginx + Php5-fpm тк говорят что скорость лучше и на когда была установлена vesta то 4-5 раз нажатия на f5 и БД ложилась
добавил запись и ничего не поменялось
w
wgame 21 февраля 2015г в 14:18 #
.htaccess насколько я понял не работает в nginx, так что он стандартный
# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]

RewriteEngine On
RewriteBase /



# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
#RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
#
# or for the opposite domain.com -> www.domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]



# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]



# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]



# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.

#AddType text/x-component .htc



# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: http://php.net/register_globals
#
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult www.php.net for more detailed
# information about setting PHP directives.

#php_flag register_globals Off



# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.

#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5



# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.

#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary
w
wgame 21 февраля 2015г в 14:21 #
ЗАРАБОТАЛО wot.wgame.info/ никуда не перебрасывает, осталось с www разобраться чтоб был редирект на домен и вообще отлично будет.
Спасибо вам огромное Николай
w
wgame 21 февраля 2015г в 14:23 #
Николай правильно ли я понял что для www нужно тоже добавить a запись типа www ip адрес
Fi1osof1
Fi1osof 21 февраля 2015г в 14:28 #
Да, правильно. И как это сделать правильней на digitalocean.com, я написал выше.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.