У меня проблема, которая кажется относительно простой, но я не знаю точно, как заставить mod_rewrite и .htaccess вести себя так, как я хочу. Во-первых, я установил Wordpress в каталог / webroot моего приложения CakePHP (в подпапке «блог»). Это прекрасно работает, как в, я могу получить доступ:
site.com / блог /
site.com/blog/about/
и т.д ...
Поскольку я хотел бы, чтобы WordPress приводил в действие несколько статических страниц на моем сайте, я хотел бы, чтобы некоторые из этих страниц WordPress имели URL-адреса «корневого» уровня, например,
site.com/about (что на самом деле было бы WP страница / блог / о)
Если на моем сайте WP отключены постоянные ссылки (т. Е. Файл .htaccess в / webroot / blog пуст), то это работает довольно хорошо. В моем / app .htaccess файле я использую:
RewriteRule ^about /blog/index.php?page_id=2 [NC,L]
Тогда я могу перейти на site.com / about , и это работает. Но я бы предпочел использовать «милые постоянные ссылки» на своем WP-сайте, так что, как только вы попадете на WP-сайт и нажмете, ссылки не будут выглядеть как «index.php? Page_id = ...» , Проблема в том, что если я включаю постоянные ссылки, когда я перехожу на site.com / about , он перенаправляет (то есть меняет мою адресную строку) на site.com / blog / about , который Я не очень хочу. Если я вместо этого использую:
RewriteRule ^about /blog/about [NC,L]
Это приводит меня на мой WP-сайт, но страница 404 не найдена. Я предполагаю, что все это как-то связано с тем, что мое правило перезаписи направлено на WP, который затем применяет свои собственные правила перезаписи.
Итак, суть в том, что я бы хотел «жестко закодировать» определенные URL-адреса, такие как site.com / about , и подключить их к WP-страницам, сохраняя при этом жестко закодированный URL-адрес в адресе. бар.
Есть идеи? Спасибо!