Intereting Posts
Автоматически удалять повторяющиеся слова в slug Как перенаправить RSS-каналы в Feedburner и сохранить постоянные ссылки? wp_mail игнорирует имя в поле From Как обновить WordPress 3.6 и не потерять дизайн своего сайта Добавить SideBar / Widgets прямо под заголовком Дата публикации публикации назначена на 30 ноября -0101 Показывать различное количество сообщений на странице в зависимости от контекста (например, домашняя страница, поиск, архив) Переписать страницу с пропуском перед именем страницы Как вставить форму HTML / JavaScript на страницу WordPress? Создание шаблона PHP для репликации стиля моей домашней страницы Как я могу вручную обновить переводы? Как удалить круглые скобки из виджета категории количество сообщений (общедоступных, частных, защищенных) по категориям Любой способ отредактировать / обрезать мое изображение при загрузке? Кнопка «Добавить медиа» в пользовательском плагине

insert_with_markers () WordPress & htaccess помощь

Я пытаюсь разработать плагин, который добавляет одну строку в файл .htaccess, созданный WordPress.

Проблема в том, что одна из строк, сгенерированных WP, переопределяет мое правило и через функцию «insert_with_markers ()», я не нашел способ указать позицию, чтобы я мог добавить свою строку вместо добавления ее в текущий момент.

Первая строка кода – это автоматически созданная строка WordPress, а вторая – та, которую я хотел бы иметь.

RewriteRule . /dev/index.php [L] RewriteRule ^article/([/_0-9a-zA-Z-]+)$ http://www.domain.tld/?id=$1 [R=301,L,NC] 

Как я вижу, здесь есть две возможности:

A) Как-то указать, где insert_with_markers () помещает новую строку кода или

B) Измените мой RewriteRule, чтобы работать вместе с созданным WordPress.

Надеюсь, вы можете указать мне шаг или два ближе к правильному пути.

Благодаря!

Solutions Collecting From Web of "insert_with_markers () WordPress & htaccess помощь"

Я бы предложил альтернативный маршрут: API перезаписи – знаете ли вы, что он поддерживает внешние URL-адреса *?

 function wpse_199898_add_htaccess_rule() { // No need for the caret "starts with", WP will add it add_rewrite_rule( 'article/([/_0-9a-zA-Z-]+)$', 'http://www.domain.tld/?id=$1 [R=301,L,NC]' ); } add_action( 'init', 'wpse_199898_add_htaccess_rule' ); 

*Почти. Нам просто нужно исправить префикс пути причудливого пути WP:

 function wpse_199898_fix_htaccess_rule( $rules ) { return str_replace( '/http://www.domain.tld/', 'http://www.domain.tld/', $rules ); } add_filter( 'mod_rewrite_rules', 'wpse_199898_fix_htaccess_rule' ); 

После того, как я прочитал этот вопрос, я решил пойти совсем по другому пути и подключиться к фильтрам вместо использования insert_with_markers ()