Ответы в темах

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Автор toxi

    (@toxi)

    Спасибо за подсказку)

    Автор toxi

    (@toxi)

    Это я понял.
    Подскажите тогда, как мне вставить мою строку следующего содержания:

    
    # Force SSL
    RewriteCond %{HTTP:SSL} !1
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
    # Force SSL
    

    До или после, если мне нужно это строку вставить именно после:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    ...

    А эта строка находится как раз между тегами BEGIN WordPress и END WordPress.
    Если я создам содержимое, то ведь код автоматически продублируется, когда WordPress автоматически изменит файл htaccess и вид его будет примерно такой (поправьте, если я ошибаюсь):

    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    # Force SSL
    RewriteCond %{HTTP:SSL} !1
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
    # Force SSL
    
    ## Begin - Rewrite rules to block out some common exploits.
    # If you experience problems on your site block out the operations listed below
    # This attempts to block the most common type of exploit <code>attempts</code>!
    #
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL.
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ## End - Rewrite rules to block out some common exploits.
    
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # BEGIN WordPress
    # Строки между <code>BEGIN WordPress</code> и <code>END WordPress</code> были созданы автоматически.
    # Они могут быть изменены только фильтрами 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
    
    Автор toxi

    (@toxi)

    А какими правилами и фильтрами эти изменения «руководствуются»? Где можно отключить это поведение?

    Я размещаю такой код, но он удаляется:

    
    # BEGIN WordPress
    # Строки между <code>BEGIN WordPress</code> и <code>END WordPress</code> были созданы автоматически.
    # Они могут быть изменены только фильтрами WordPress.
    # Все изменения между этими отметками будут перезаписаны.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    # Force SSL
    RewriteCond %{HTTP:SSL} !1
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
    # Force SSL
    
    ## Begin - Rewrite rules to block out some common exploits.
    # If you experience problems on your site block out the operations listed below
    # This attempts to block the most common type of exploit <code>attempts</code>!
    #
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL.
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ## End - Rewrite rules to block out some common exploits.
    
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    • Ответ изменён 4 года назад пользователем toxi.
    • Ответ изменён 4 года назад пользователем toxi.

    2. Со вторым вопросом проблема решена:
    В файле wp-content\plugins\buddypress\bp-themes\bp-default\header.php
    указана переменная <?php bp_site_name() ?>, которая отвечает за имя общего (основного сайта). Нужно эту переменную заменить на <?php bloginfo('name'); ?>, тогда переменная будет браться с каждого блога отдельно, в результате чего будет «правильное» название на всех блогах, т. е. не будет названия сайта на всех блогах, а будут отдельные названия у каждого блога.

Просмотр 4 ответов — с 1 по 4 (всего 4)