Intereting Posts
Использовать мета-поля внутри шаблона страницы архива для Woocommerce Single Post Breadcrumb не ссылается на индекс пользовательских сообщений? Обновляя зеркальный сайт WordPress – и я не знаю, с чего начать! Shortcode в текстовом виджете не работает Как передать параметр в этот пример add_filter Удалить категорию slug из ссылки Можно установить часовой пояс нового пользовательского сайта при создании пользователя с использованием Gravity Forms? Странные ошибки смещения строки при отображении почтовых вложений Отображение роли, которой назначен текущий пользователь Как применить класс ко второму слову в элементе меню? wp_schedule_event не будет принимать аргументы Собственные поисковые вары не отображаются как добавить более старое сообщение в новое сообщение WordPress с новым сообщением? Как получить постоянную ссылку для определенного (пользовательского) термина? Почему WordPress по-прежнему не поддерживает SFTP?

RewriteRule принимает числа, но не буквы в теге

RewriteRule работает только с числами

В настоящее время я пытаюсь получить ссылку

example.com/subdir/StackExchange/

действовать как ссылка, например, на дополнительный тег веб-сайта:

example.com/subdir?website=StackExchange


Я установил RewriteRule в .htaccess, который выглядит следующим образом:

RewriteRule ^subdir/(.*)/$ subdir.php?website=$1 [L] 

Когда я использую числа ( example.com/subdir/123/ ), echo $_GET["website"] успешно перекликается с «123». Как только я использую алфавитные буквы ( example.com/subdir/abc/ ), это не сработает.

Как мне это изменить? Это проблема с WordPress? Я установил параметр permalink в панели инструментов WordPress Settings для «Post name». Я тоже пробовал другие методы, но ничего не изменилось.

Оставьте .htaccess один. Для этого вы можете использовать API перезаписи WordPress.

 add_action( 'init', function(){ return add_rewrite_rule( 'subdir/([^/]+)/?$', // ([^/]+) takes alphanumeric, while ([0-9]+) accepts digits 'index.php?pagename=subdir&website=$matches[1]', 'top' ); }); add_filter('query_vars', function($v){ return array_merge(array('website'),$v); }); 

Сначала убедитесь, что subdir является допустимым пропуском страницы в этом примере. После того, как вы сохраните этот код в файле функций или get_query_var('website') дочерней темы, теперь вы можете использовать get_query_var('website') чтобы получить свойство website а не использовать $_GET global.

Надеюсь, это поможет.