Intereting Posts
Аутентификация Facebook в IE не вокализована Почему моя функция GET моего API REST не возвращает никакого значения? Не удалось установить Cookie в curl Request Документы PDF или Word с Yii? Домен домена cookie CodeIgniter Автозагрузчики в PHP – два запуска за раз Как удалить символ \ ufeff в моих сценариях веб-страницы? Самый чистый способ читать настройки конфигурации из файла PHP и загружать весь код проекта с помощью сценария оболочки импорт выбранных столбцов файла csv в разных таблицах sql с использованием php Не удается найти индекс FULLTEXT, соответствующий списку столбцов (установлены индексы) Есть ли статический анализатор кода для файлов PHP? Переместить mediawiki TOC на боковую панель Встраивание PHP в XML Наследование класса в PHP 5.2: переопределение статической переменной в классе расширения? Как защитить свой сайт от локального включения файлов и внедрения SQL в PHP?

Установка CodeIgniter в корневом каталоге и WordPress в подкаталоге

Я хочу создать сайт, на котором основные страницы будут поданы от CodeIgniter. Я буду использовать WordPress в / blog / sub-directory для размещения блога. Это оно! Я ничего не хочу. Просто чтобы убедиться, что:

example.com/somepage/ вызывает контроллер CI, где в качестве example.com/blog/some-post/ обрабатывается WordPress.

Мне не нужна какая-либо интеграция или взаимодействие между CI и WP.

Можно ли установить таким образом? Если нет, обходные пути, чтобы я мог достичь целей?

Спасибо и с уважением, Маснун

Я подозреваю, что вы можете заставить это работать с использованием файла .htaccess в корневом каталоге вашего сайта. Если blog – это имя подкаталога, в котором установлен WordPress, и вы хотите, чтобы example.com/blog обрабатывался WordPress, попробуйте это, чтобы узнать, помогает ли это:

RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt|blog) RewriteRule ^(.*)$ /index.php/$1 [L] 

Он должен работать так же, как вы описали его без какой-либо сложной конфигурации. Просто установите codeigniter в корневой каталог, а затем создайте каталог блога и разместите там WordPress.

+1 с использованием метода Рича

Additionnaly, если вы используете файл .htaccess, такой как тот, который предлагается в документе CI, он должен работать, отбросив каталог WP непосредственно в корневой каталог.

 RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, #previously this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #This last condition enables access to the images and css folders, and the robots.txt file #Submitted by Michael Radlmaier (mradlmaier) RewriteCond $1 !^(index\.php|robots\.txt|corporate|assets) RewriteRule ^(.*)$ index.php/$1 [L] 

Из-за RewriteCond %{REQUEST_FILENAME} !-f и RewriteCond %{REQUEST_FILENAME} !-d любой вызов, сделанный непосредственно в реальном файле на веб-сервере, будет обслуживаться непосредственно Apache, а другой uris будет обрабатываться с помощью Mecanism маршрутизации CI.

Обратите внимание, что мы использовали последнюю директиву RewriteCond чтобы исключать вызовы для файлов certains, включая наш каталог dir (содержащий изображения / css / js статические файлы) и «корпоративный» каталог, который содержит в этом случае блог.

Хотя этот пример не использует wordpress, он имеет свою собственную систему перезаписи и маршрутизации URL.

В заключение вы будете использовать конкретный оператор RewriteCond если хотите использовать WP url-rewriting, если бы он не работал без него.