htaccess 规则从 CodeIgniter 重定向到 Wordpress 类别
我必须 .htaccess 文件,一个用于 CodeIgniter,一个用于 Wordpress。我的目录结构如下:
/application <-- CI Install
/news <-- WP Install
一般来说,我想要一个重写为 /news/topics/resources
的 url /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
任何帮助将不胜感激。谢谢。
I have to .htaccess files, one for CodeIgniter and one for Wordpress. My directory structure is as follows:
/application <-- CI Install
/news <-- WP Install
Generally, I want to have a url /resources
that rewrites to /news/topics/resources
. Additionally, /resources/page/2
should be rewritten to /news/topics/resources/page/2
, etc...
I've tried a couple of things to no avail. Listed below is my CodeIgniter and WP htaccess files:
CI .htaccess file (located at /.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 file (located at /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
Any help would be greatly appreciated. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该这样做。 WP 将为不存在的 URL 生成 404 页面。
Should do that. WP will generate 404 pages for URLs that don't exists.