Поддержка WordPress Multisite Не отображаются созданные сайты

  • Всем привет!

    Установил сеть на своём блоге. Блогу больше года. Страничка для выбора «поддомены или подкаталоги?» мне не открылась. Но был комментарий, мол, блог старый и в варианте с подкаталогами не будут правильно работать ссылки, поэтому Вам только вариант с поддоменами. А мне он не нравится! Я установил ВП на локалку, начал установку сети там, и со страницы, которая открылась после выбора мною варианта с подкаталогами, скопировал то, что нужно добавлять в файлы config.php и .htaccess. В конфиге, естественно, исправил имя главного домена. Ссылки, думаю, придётся попыхтеть, но исправлю, которые не будут работать, вручную…

    Создал сайт. Перехожу на него — белая страница!.. И никаких сообщений. Вернулся в админку — вновь созданного сайта в списке сайтов сети нет. Имеется он только в списке, который открывается по этому адресу: Мои сайты > Управление сетью > Сайты.

    В чём может быть проблема?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Что-то с файлом .htaccess.

    На локалке тоже вначале так было. Я не заметил, что надо заменить остальные правила ВП. Просто добавил новые в этот файл. А когда именно заменил всё то, что надоходится между метками # BEGIN WordPress и # END WordPress сразу всё заработало. Но то на локалке. А в моём блоге этих правил гораздо больше. Есть раздел между метками # BEGIN WordPress и # END WordPress, но есть и другие правила… Не все же надо было заменить? Или как?

    Не все же надо было заменить? Или как?

    Думаю, надо бы показать содержимое хтацесса. А то ведь вызов телепатов нонче оч. дорогой 😉

    Вот, весь .htaccess с заменённым фрагментом (выделен; телепатов же нет) `# BULLETPROOF .46.8 >>>>>>> SECURE .HTACCESS

    # If you edit the BULLETPROOF .46.8 >>>>>>> SECURE .HTACCESS text above
    # you will see error messages on the BPS Security Status page
    # BPS is reading the version number in the htaccess file to validate checks
    # If you would like to change what is displayed above you
    # will need to edit the BPS /includes/functions.php file to match your changes
    # If you update your WordPress Permalinks the code between BEGIN WordPress and
    # END WordPress is replaced by WP htaccess code.
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    <strong>RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </strong></IfModule>

    # END WordPress
    # This removes all of the BPS security code and replaces it with just the default WP htaccess code
    # To restore this file use BPS Restore or activate BulletProof Mode for your Root folder again.

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]

    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ — [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    # END WordPress

    # BLOCK HOTLINKING TO IMAGES
    # To Test that your Hotlinking protection is working visit http://altlab.com/htaccess_tutorial.html
    #RewriteEngine On
    #RewriteCond %{HTTP_REFERER} !^https?://(www\.)?add-your-domain-here\.com [NC]
    #RewriteCond %{HTTP_REFERER} !^$
    #RewriteRule .*\.(jpeg|jpg|gif|bmp|png)$ — [F]

    # BLOCK MORE BAD BOTS RIPPERS AND OFFLINE BROWSERS
    # If you would like to block more bad bots you can get a blacklist from
    # http://perishablepress.com/press/2007/06/28/ultimate-htaccess-blacklist/
    # You should monitor your site very closely for at least a week if you add a bad bots list
    # to see if any website traffic problems or other problems occur.
    # Copy and paste your bad bots user agent code list directly below.`

    М-да… Стронг не хочет выделять…

    Модератор Yuri

    (@yube)

    Совершенно нечитабельно ( А раз так, то и не буду читать. Ограничусь банальностями общего характера.
    1. Правила .htaccess, в том числе и RewriteCond/RewriteRule, выполняются Апачем последовательно.
    2. Флаг [L] означает Last (последний), то есть, если правило с этим флагом сыграло, то все последующие игнорируются.

    Вывод: собирая .htaccess, надо заботиться о правильной последовательности.

    Флаг [L] означает Last (последний), то есть, если правило с этим флагом сыграло, то все последующие игнорируются.

    Спасибо! Уже шажок в нужном направлении.

    Но ещё хотелось бы уточнить, откуда они туда набиваются? Помню сам туда добавлял, но только одну строчку. У вновь установленного ВордПресса этих строчек 7-8… А остальные. Установщики тем и плагинов сами добавляют? И можно ли этот файл как-то оптимизировать?

    Что-то не то… Там этих ластов с десяток, но это, возможно, капитально замусоренный файл. А вот из Кодекса (раздел по установке сети):

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    Кусок, который нужно добавить в файл .htaccess. В нём два L. Но двух последних быть не может. Так?.. Тогда как это понимать?

    Кусок, который нужно добавить в файл .htaccess.

    Не нужен он там при сетевой установки.
    См мануал: http://codex.wordpress.org/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%82%D0%B8#.htaccess_.D0.B8_Mod_Rewrite

    Да, изначально я не обратил внимание на строки:

    Блогу больше года. Страничка для выбора «поддомены или подкаталоги?» мне не открылась. Но был комментарий, мол, блог старый и в варианте с подкаталогами не будут правильно работать ссылки, поэтому Вам только вариант с поддоменами. А мне он не нравится!

    Не знаю, как отреагирует ВП после переноса настроек с денвера.

    Модератор Yuri

    (@yube)

    [L] не вообще последний, а для связки условия+правило. Если условия выполнились, срабатывает правило. Если правило с флагом L, то дальше условия не проверяются.

    Блок

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    означает: если нет запрошенного файла (-f) и директории (-d), открыть(выполнить — ибо php) /index.php и прекратить обработку. То есть, никакое правило для «виртуального» (реально не существующего) файла, идущее после этого блока, выполняться не будет.

    Установщики тем и плагинов сами добавляют?

    Бывает.

    И можно ли этот файл как-то оптимизировать?

    Даже нужно. Все свои инструкции нужно добавлять до блока # BEGIN WordPress — # END WordPress. После — могут не сработать, внутри — WP может грохнуть, перезаписывая свой блок.

    Чтобы после доведения до ума туда ничего не писалось, можно поставить на файл права 444.

    Неплохая дока по реврайтам: http://www.shtogrin.com/library/web/mod_rewrite/doc/

    Ну, вот. Сейчас у меня .htaccess такой:

    # BEGIN WordPress
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
    RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    
    # END WordPress

    А всё равно сайты не добавляются!.. В смысле не появляются в списке, где каждый сайт помечен логотипом ВордПресса. И не отображаются на экране. Хотя в разделе Управления сетью значатся как живые… Что в этом файле неправильно?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Не отображаются созданные сайты» закрыта для новых ответов.