мультисайт, не видно поддомены...

daga
На сайте с 01.06.2004
Offline
161
1563

Возник вопрос. Есть сайт ***.ua (Wordpress). В нем установлен мультисайт (возможность удобная для создания мультиязычных сайтов). Wordpress использует поддомены для этих дочерних сайтов. в данном случае - pl. и en.

Для сайтов на поддоменах (которые обрабатывает основной движок) в .htaccess прописываются правила (

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ - [L]

RewriteRule ^(wp-(content|admin|includes).*) $1 [L]

RewriteRule ^(.*\.php)$ $1 [L]

RewriteRule . index.php [L]

</IfModule>

# END WordPress

)

Но в данном случае они не работают, так как их игнорирует nginx. при попытке зайти на поддомен просто сообщает Nginx is functioning normally.

Облачный хостинг, официальный регистратор доменов в Украине. За прогон сайта, проведу видео-сессию, трансформирующую сознание:)
S
На сайте с 30.09.2016
Offline
469
#1

А зачем здесь вообще разговор про .htaccess, если неправильно сконфигурирован сервер?

Файл http://en.site.com/1.txt тоже не открывается?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
HM
На сайте с 14.01.2012
Offline
223
#2

Покажите конфиг nginx (блок server).

S
На сайте с 01.12.2017
Offline
153
#3

Думаю сообразите сами :)

Правила для WordPress в режиме мультисайтов, сохраните в /etc/nginx/conf.d/wordpress-mu.conf:

# WordPress multisite subdirectory rules.

# Designed to be included in any server {} block.

index index.php;

# This order might seem weird - this is attempted to match last if rules below fail.

location / {

try_files $uri $uri/ /index.php?$args;

}

# Add trailing slash to */wp-admin requests.

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Pass all .php files onto a php-fpm/php-fcgi server.

location ~ .php$ {

# Zero-day exploit defense.

# Won't work properly (404 error) if the file is not stored on this server, which is entirely possible with php-fpm/php-fcgi.

# Comment the 'try_files' line out if you set up php-fpm/php-fcgi on another machine. And then cross your fingers that you won't get hacked.

try_files $uri =404;

# fastcgi_split_path_info ^(.+.php)(/.+)$;

#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

include fastcgi_params;

fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# fastcgi_intercept_errors on;

fastcgi_pass php5-fpm;

}

location ~ ^/files/(.*)$ {

try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;

# access_log on; log_not_found on; expires max;

}

#avoid php readfile()

location ^~ /blogs.dir {

internal;

alias /var/www/wordpress/wp-content/blogs.dir ;

access_log off; log_not_found off; expires max;

}

# Directives to send expires headers and turn off 404 error logging.

location ~* ^.+.(xml|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {

access_log off; log_not_found off; expires max;

}

------------------------------------------------------------------------------------------------------------------------------------------------

Добавить общий набор ограничений, чтобы сделать Nginx более безопасным. Поместить их в файл /etc/nginx/conf.d/restrictions.conf:

# Global restrictions configuration file.

# Designed to be included in any server {} block.</p>

location = /favicon.ico {

log_not_found off;

access_log off;

}

location = /robots.txt {

allow all;

log_not_found off;

access_log off;

}

# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).

# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)

location ~ /\. {

deny all;

}

# Deny access to any files with a .php extension in the uploads directory

# Works in sub-directory installs and also in multisite network

# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)

location ~* /(?:uploads|files)/.*.php$ {

deny all;

}

-----------------------------------------------------------------------------------------------------------------------------------

И последнее, задать конфигурационные файлы для отдельных веб-сайтов.

Удачи!

S
На сайте с 30.09.2016
Offline
469
#4
smurf:
Думаю сообразите сами

Думаю, проще было не постить эту простыню, а дать ссылку.

Но вопрос в том, что там конкретно не сконфигурировано, а не полностью переписывать конфиг.

S
На сайте с 01.12.2017
Offline
153
#5
Sitealert:
Думаю, проще было не постить эту простыню, а дать ссылку.
Но вопрос в том, что там конкретно не сконфигурировано, а не полностью переписывать конфиг.

А народ сейчас ленивый, я ему на тарелочке с голубой каемочкой "простыньку" выложил :), если бы умел гуглить, сразу попал бы на вашу ссылку, да и первое что смотреть, да - кодекс. А то что смотреть в его конфиге, так это все равно что разжевать, в рот положить и потом в WC сводить. Все любят на готовенькое.....я и так уже понял, что не сконфигурировано у него, даже не видя файла, да и ему надо именно конфигурация под мультисайт, так как уверен, что с настройкой редиректов там все норм.

И меня не сильно напрягает простыни писать, тем паче я взял не с кодекса, а со своего конфига, тоже мультисайтный WP

SeVlad
На сайте с 03.11.2008
Offline
1609
#6

smurf, daga, для вставки кода в форум пож, используете ббкод [code][/code]. кнопка # в расширенном редакторе.

smurf:
если бы умел гуглить,

Если кто не умет гуглить или лень пройти в мануал по ссылке, то может и не стоит метать бисер?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий