Установка CodeIgniter на root и WordPress в подкаталог - PullRequest
9 голосов
/ 24 марта 2010

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

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

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

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

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

Ответы [ 3 ]

8 голосов
/ 25 марта 2010

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

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt|blog)
RewriteRule ^(.*)$ /index.php/$1 [L]
1 голос
/ 24 марта 2010

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

0 голосов
/ 11 мая 2010

+ 1 по методу Рича

Кроме того, если вы используете файл .htaccess, подобный тому, который был предложен в документе CI doc, он должен работать, перетаскивая каталог 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 будут обрабатываться механизмом маршрутизации CI.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...