我必须.htaccess文件,一个用于CodeIgniter,一个用于Wordpress。我的目录结构如下:
/application <-- CI Install
/news <-- WP Install
一般来说,我想要一个重写为/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 :(得分:0)
RewriteRule ^resources.*$ /news/topic/$0 [NC]
应该这样做。 WP将为不存在的URL生成404页面。