chifliiiii
  • 0
Новичок

Правила перезаписи в.Htaccess перезаписываются?

  • 0

Я не могу заставить его работать, добавляя пользовательские правила перезаписи functions.php или добавляя пользовательские пермаструктуры. У меня есть этот код .htaccess, который работает нормально.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# BEGIN IPHONE RULES
RewriteRule ^mobile/([^/]+)$ mobile/index.php?action=$1 [QSA,L]
# END IPHONE RULES
# BEGIN PDF RULES
RewriteRule ^certificates/30-Days-Certificate-([0-9]+)$ pdf/index.php?type=30day&period=$1 [QSA,L]
RewriteRule ^certificates/12-Month-Certificate$ pdf/index.php?type=12Month [QSA,L]
# END PDF RULES
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Но время от времени он обновляется до значений по умолчанию, и я теряю правила для iPhone и PDF. Мобильный телефон называется так, /mobile/progress?userId=22&date=2011-02-21 где progress действие, а остальные — просто переменные запроса. На .htaccess работает нормально, но я не могу заставить его работать, добавляя пользовательские правила. Любая помощь будет высоко ценится.

Share
  1. Что вы пробовали? Вставьте свой код

    • 0
  2. Часть между # BEGIN WordPress и # END WordPress всегда будет перезаписываться при сбросе постоянных ссылок. Вы можете либо разместить свои дополнительные правила перезаписи перед этим сегментом, либо зарегистрировать их в WordPress как внешние правила перезаписи. Если вы сбросите свои правила сейчас (например, посетив страницу постоянных ссылок), ваши дополнительные правила будут добавлены в .htaccess файл.

    add_action( 'init', 'wpse12708_init' );
    function wpse12708_init()
    {
        global $wp_rewrite;
        $wp_rewrite->add_external_rule( 'mobile/([^/]+)$', 'mobile/index.php?action=$1' );
        $wp_rewrite->add_external_rule( 'certificates/30-Days-Certificate-([0-9]+)$', 'pdf/index.php?type=30day&period=$1' );
        $wp_rewrite->add_external_rule( 'certificates/12-Month-Certificate$', 'pdf/index.php?type=12Month' );
    }
    
    • 0

Оставить ответ

You must login to add an answer.