Изменение маршрутизации WordPress для загрузки одной и той же страницы для разных URL-адресов

Я конвертирую существующий веб-сайт в тему WordPress. Одна из страниц – это галерея, которая использует JS history.pushState для создания уникальных URL-адресов для загрузки определенных изображений.

Например, URL-адрес страницы (не WP-сайт): http://www.good-deeds-day.org/gallery/

URL для определенного изображения: http://www.good-deeds-day.org/gallery/img-35

Я хотел бы сохранить эту функциональность в WordPress. Однако при загрузке URL-адреса определенного изображения WordPress рассматривает его как другую страницу и отображает ошибку 404.

Есть ли способ настроить WordPress или .htaccess чтобы при загрузке таких URL-адресов изображений он сохранял URL-адрес и загружал страницу галереи, отображая соответствующее изображение на странице галереи?

Я закончил с помощью add_rewrite_rule:

 function bones_rewrite_rules() { $gallery_page_id = 395; add_rewrite_rule('^gallery/img-.*', 'index.php?page_id=' . $gallery_page_id, 'top'); } add_action('init', 'bones_rewrite_rules'); 

Но из вашего описания это не URL-адрес галереи, а индивидуальный образ одного. Я предполагаю, что он должен последовательно отображать индивидуальный образ для такого URL-адреса, независимо от того, обслуживается ли он WP back-end или управляется на стороне клиента.

Самый простой способ сделать это в WP, о котором я могу думать, будет переписывать конечную точку . Он может довольно легко защелкнуть существующую структуру постоянной ссылки, и с ней легко работать и изменять выход.

К сожалению, ваш формат /img-35 не подходит для конечных точек, но если изменить его, опция /img/35 отлично работает с конечной точкой.