2012-01-19 6 views
0

Я должен .htaccess файлы, один для CodeIgniter и один для Wordpress. Моя структура каталогов выглядит следующим образом:Правило htaccess для перенаправления из CodeIgniter в Wordpress

/application <-- CI Install 
/news <-- WP Install 

Вообще, я хочу, чтобы иметь URL /resources, который переписывает на /news/topics/resources. Кроме того, /resources/page/2 следует переписать на /news/topics/resources/page/2 и т. Д.

Я пробовал пару вещей безрезультатно. Ниже перечислены мои CodeIgniter и WP Htaccess файлы:

CI файл .htaccess (расположен в /.htaccess)

<IfModule mod_rewrite.c> 
RewriteEngine On 
Options +FollowSymlinks 
RewriteBase/

#This should redirect /news/topic/resources/ to /resources 
#RewriteRule resources/ /news/topic/resources [NC] 
#RewriteRule /resources/^(.*)\ /news/topic/resources/$1 
#RewriteRule ^resources/ news/topic/resources/ [NC] 
#RewriteRule ^resources$ news/index.php?cat=825 [L] 
#RewriteRule ^resources/(.*)$ news/$1 [R,L] 

#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] 

#When your application folder isn't in the system folder 
#This snippet prevents user access to the application folder 
#Submitted by: Fabdrol 
#Rename 'application' to your applications folder name. 
RewriteCond %{REQUEST_URI} ^application.* 
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 
RewriteRule ^(.*)$ index.php?/$1 [L]  
</IfModule> 

<IfModule !mod_rewrite.c> 
# If we don't have mod_rewrite installed, all 404's 
# can be sent to index.php, and everything works as normal. 
# Submitted by: ElliotHaughin 

ErrorDocument 404 /index.php 
</IfModule> 

WP файл .htaccess (находится в /news/.htaccess)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /news/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /news/index.php [L] 
</IfModule> 
# END WordPress 

Любая помощь будет принята с благодарностью. Благодарю.

ответ

0
RewriteRule ^resources.*$ /news/topic/$0 [NC] 

Необходимо сделать это. WP будет генерировать 404 страницы для URL-адресов, которые не существуют.

+0

К сожалению, это не сработало. Я предполагаю, что это как-то связано с тем, как Wordpress обрабатывает перезаписи. Теперь посмотрим в wp_rewrite. – sdover102

Смежные вопросы