Мне нужна помощь в WordPress .htaccess
. Название моих проектов – это Project это WordPress и один веб-сайт, внутри этого у меня есть еще один проект, который построен в CI с именем app . Я хочу, если кто-то введет что-нибудь после /
, затем получите контент из проекта App
CI. Я не хочу перенаправлять пользователя на http://example.com/app/<anything>
. Поскольку я сказал, что проект wordpress – одна страница, поэтому, когда я нажимаю навигацию, я получил !#
Как символы в url.
http://example.com/<anything>
Мой текущий .htaccess
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /project/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /project/index.php [L] </IfModule> # END WordPress
Является ли это возможным?
Поскольку ваш сайт WordPress – это всего лишь сайт с одной страницей, он предоставляется с единственного URL http://example.com/
. Затем вы хотите, чтобы http://example.com/<something>
был внутренне переписан на http://example.com/app/<something>
.
Вы можете добавить следующие директивы mod_rewrite перед существующими директивами WordPress (т. Е. Фронт-контроллером WordPress) в свой файл .htaccess
.
# Route all URL-paths (of 1 or more characters) to CI app RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule (.+) /app/$1 [L] # WordPress directives start here... :
Директива RewriteCond
которая проверяет переменную окружения REDIRECT_STATUS
гарантирует, что только первоначальные запросы будут перезаписаны, а не внутренние перезаписи в index.php
WordPress.
Шаблон RewriteRule
(.+)
Гарантирует, что мы будем только сопоставлять URL-пути длиннее одного символа, без корня документа, который передается в WordPress.