Перезапись URL (htaccess) не работает в шаблоне страницы Wordpress с пользовательским скриптом - PullRequest
0 голосов
/ 09 марта 2020

У меня есть следующий URL:

https://example.com/verlicitacion/?slug=example-string

Я пытаюсь превратить ее в этот:

https://example.com/tender/example-string

Я использую WordPress, а путь "/ verlicitacion /" - это страница WordPress, которая на самом деле представляет собой php скрипт, который я использую в качестве пользовательской страницы шаблона, и я сохранил в каталог темы (wp-content / themes / freelanceengine / verlicitacion. php).

Сценарий захватывает переменную "_GET ['slug']" и получает информацию из внешнего API.

Путь "/ tender /" в настоящее время не существует на сайте WordPress.

В моем .htaccess я пытался добавить это в начало файла:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^tender/(.+)$ /verlicitacion/?slug=$1 [L]
</IfModule>

Но когда я пытаюсь войти: https://example.com/tender/example-string я получаю ошибку 404. (Страница ошибки темы).

Я застрял с этим почти два дня. Что я делаю не так?

Заранее спасибо.

1 Ответ

0 голосов
/ 09 марта 2020

Попробуйте использовать add_rewrite_rule функцию, в вашем случае она должна выглядеть следующим образом:

function custom_rewrite_rule() {
    add_rewrite_rule('^tender/(.+)$','/verlicitacion/?slug=$1','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

Примечание: Я не тестирую этот код, он может не работать, Вы можете изучить эту функцию и узнать больше.

Примечание 2: Вы должны грипп sh правила после добавления / удаления правила, вы можете использовать flush_rewrite_rules функция Или go до wordpress dashboard > settings > permalink и сохранение настроек еще раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...