Поддержка Проблемы и решения Строки между `BEGIN WordPress` и `END WordPress`

  • Решено toxi

    (@toxi)


    Добрый день.
    Кто сталкивался с таким сообщением в файле .htaccess ?:

    # BEGIN WordPress
    # Строки между ''BEGIN WordPress'' и ''END WordPress'' были созданы автоматически.
    # Они могут быть изменены только фильтрами 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

    В оригинале этот файл вообще примерно такой:

    # 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
Просмотр 7 ответов — с 1 по 7 (всего 7)
  • А чего странного? Обычное предупреждение, что не нужно сюда ни чего писать

    Модератор Yui

    (@fierevere)

    永子

    Это стандартное предупреждение WordPress
    появилось
    2019-10-03 14:26:07 GMT

    И там все верно написано, потому что блок между
    BEGIN WordPress и 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.

    какое именно слово в фразе если вам нужны свои правила, то вставляйте их ДО или ПОСЛЕ вам не понятно?

    Автор 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
    
    Модератор Yuri

    (@yube)

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

    Вот так. До.

    
    # Force SSL
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:SSL} !1
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
    </IfModule>
    # / Force SSL
    
    Автор toxi

    (@toxi)

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

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Строки между `BEGIN WordPress` и `END WordPress`» закрыта для новых ответов.