пользовательское правило перезаписи htaccess для страницы
У меня есть страница в wordpress под названием "видео". его идентификатор страницы равен 6, а его пуля - "видео"
В моей теме я настроил ее так, чтобы показывать контент на основе переменных GET
Вот перезапись URL, которую я пытаюсь настроить:
Вот исходный URL-адрес с переменными GET внутри:
Mysite.com/video/?video_id=102230&video_title=FC+Emmen+v+AGOVV+Apeldoorn&video_src=MTAyMjMw
Вот URL, на который я хочу его переписать, чтобы он мог быть проиндексированный:
Mysite.com/video/102230/MTAyMjMw/FC +Эммен+в+АГОВВ+Апелдорн
Вот мой файл htaccess, который не работает:
# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^video/(.*)/(.*)/(.*)$ ?page_id=6&7video_id=$1&video_src=$2&video_title=$3 [NC]
</ifmodule>
# END WordPress
Что происходит, когда я пытаюсь посетить mysite.com/video/102230/MTAyMjMw/FC +Эммен+в+АГОВВ+Апелдорн, он просто автоматически переходит в mysite.com/video и удаляет все после /видео
Редактировать - теперь он не удаляет все после /видео, но сообщает мне, что "Ничего не найдено для видео 102230 MTAyMjMw FC+Emmen+v+AGOVV+Апелдорн"
1 answers
Вы можете сделать это с помощью встроенной системы перезаписи WordPress.
function add_video_rewrite() {
add_rewrite_tag("%video_id%", '([^/]*)');
add_rewrite_tag("%video_src%", '([^/]*)');
add_rewrite_tag("%video_title%", '([^/]*)');
add_rewrite_rule('^video/([^/]*)/([^/]*)/[^/]*)', 'index.php?pagename=video&video_id=$matches[1]&video_src=$matches[2]&video_title=$matches[3]', 'top');
}
add_action( 'init', 'add_video_rewrite' );
Не проверял это, но я думаю, что это должно сработать. Что нужно сделать, так это сначала добавить теги, которые вы можете использовать в своем шаблоне (get_query_var(video_id)). Затем добавьте рерайтер, который специально соответствует URL-адресу.
Вы должны поместить этот код в свой functions.php а затем очистите свои перезаписывающие файлы (перейдите в раздел настройка > постоянные ссылки).
Дополнительная информация о переписчиках для WordPress:
http://codex.wordpress.org/Rewrite_API
http://codex.wordpress.org/Rewrite_API/add_rewrite_tag
http://codex.wordpress.org/Rewrite_API/add_rewrite_rule