- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Такая проблема: совершенно бессистемно вдруг портится htaccess файл - дописывается пустая строка, либо вообще он разбухает до больших размеров 300 кб, но при этом там не появляются ссылки и редиректы на вражеские ресурсы. Просто повторяется раз за разом содержимое оригинального файла. И один раз появляется лишний символ "s". Если это вирус, то крайне бессмысленный или недоделанный. Но может быть есть какие то свои причины менять htaccess?
Обновление WP до последней версии, смена хостинга, установление прав на htaccess только на чтение не меняет ситуацию.
Пример испорченного файла:
--- начало файла ---
# B# BEGIN WordPre<If<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
---- конец файла ----
Что может менять htaccess? Что делать?
Что может менять htaccess? Что делать?
Начни с изучения логов сервера.
Ида, плагины потключай, тему смени. пп4-6 в общем.
Такая проблема: совершенно бессистемно вдруг портится htaccess файл...
BulletProof Security поставь, по ссылке - подробная аннотация. Будет у вас иной htaccess, значительно более надежный, и будет его мониторинг.
Бывает плагины кривые, бывают зловреды пишут так:
Анализируйте.
Если вредоносного нет, то либо будет, либо все-таки плагины.
Углубляясь в вопрос я понял, что скорее всего это не вирус.
Знаете ли вы, что движок WP имеет средства для самостоятельного изменения htaccess файла?
Все это связано с функцией flush_rules, которая находится в файле wp-includes/rewrite.php. Именно этот файл отвечает за настройки ЧПУ. Возможно, ситуация связана с тем, что так получилось, что я установил правило ЧПУ для постов в виде: домен/page/post_title. В то же время, как оказалось, пагинация в WP тоже имеет вид домен/page/XX (где XX - номер страницы архивов). Page есть и там и там, причем, стандартными средствами изменить пагинацию нельзя, а посты можно, но с точки зрения накопленных за 3 года внешних ссылок на посты лучше изменить как раз пагинацию. Я это проделал подправив файл wp-includes/rewrite.php заменив
var $pagination_base = 'page';
на
var $pagination_base = 'list-of-pages';
В принципе, этот же результат люди получают с использованием плагина или добавлением строчек в файл functions.php своей темы.
Но теперь я вижу, что htaccess заново переписывается при каждом посещении. Интересно, возможна ли коллизия при записи в случае сильного наплыва посетителей? Может можно где нибудь поставить отключение перезаписи htaccess (а включать только при смене темы, плагинов и прочих админских изменениях)?
rototo, лишняя строка вверху прописывается автоматически при создании htaccess, если такого вообще не было на сервере. То есть при создании сайта если не создать файлик, он его автоматически создаст. Это я по наблюдениям делаю вывод.
Недавно у меня сменился htaccess на стандартный для вп, хотя в нем было прописано куча всего. Увидел через плагин-монитор. Подумал, что залили с редиректом, но нет, стандартный текст. Гуглил, нашел, что какой-то из скриптов может менять его содержимое, так что надо права менять на перезапись.
Подумал, что залили с редиректом, но нет, стандартный текст. Гуглил, нашел, что какой-то из скриптов может менять его содержимое, так что надо права менять на перезапись.
У меня та же история, это один из плагинов обновляет. Вот какой только, не понятно.
Да, именно так. Можно просто удалить htaccess и при заходе на сайт (index.php естессно) он вновь создастся. А процедура, которая пишет на диск файл htaccess находится в wp-admin/includes/misc.php
function save_mod_rewrite_rules()
В общем, я попробовал тупо заменить в этой функции
return insert_with_markers( $htaccess_file, 'WordPress', $rules );
на
return true;
Все равно содержимое htaccess не меняется.
У меня та же история, это один из плагинов обновляет. Вот какой только, не понятно.
Интересно. Я думал, что с обновлениями связано, но никакой инфы не нашел.
Да, именно так. Можно просто удалить htaccess и при заходе на сайт (index.php естессно) он вновь создастся. А процедура, которая пишет на диск файл htaccess находится в wp-admin/includes/misc.php
function save_mod_rewrite_rules()
В общем, я попробовал тупо заменить в этой функции
return insert_with_markers( $htaccess_file, 'WordPress', $rules );
на
return true;
Все равно содержимое htaccess не меняется.
Не пойму - этот способ запрещает смену содержимого файла или нет?
Не пойму - этот способ запрещает смену содержимого файла или нет?
Да. Этот способ просто обманывает движок и WP думает, что файл записался, хотя в реальности он не записывался. Если заменить return true; на return false; то по идее, WP будет думать, что записать htaccess не удалось.
---------- Добавлено 02.10.2013 в 14:41 ----------
У меня та же история, это один из плагинов обновляет. Вот какой только, не понятно.
В поиске по коду установленных плагинов можно найти подозреваемых (искать вхождение "_rules" или "flush_rules"). У меня это оказались плагины:
wordpress-link-directory
nextgen-gallery