【问题标题】:htaccess redirection to particular folderhtaccess 重定向到特定文件夹
【发布时间】:2017-02-04 17:07:43
【问题描述】:

我在主机的公共 html 文件夹中安装了 word press。我已将旧的 codeigniter 站点文件放入“oldsite\codeigniter”。但我无法访问此代码点火器网站,总是从 word press 得到 page not found 错误

示例网址:example.com/oldsite/codeigniter

如果 URL 包含“oldsite”或 oldsite/codeigniter,我如何重定向到子文件夹

RewriteEngine On

RewriteRule ^oldsite/codeigniter/(.*)$ example.com/oldsite/codeigniter/$1 [NC,R=301,L]

codeigniter htaccess 文件

RewriteEngine on
RewriteCond %{REQUEST_URI} !(.gif|.jpg|.png)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule  codeigniter/home$ 
example.com/oldsite/codeigniter[L,R=301]

【问题讨论】:

  • oldsite/codeigniter 中应该已经有一些 .htaccess。
  • 是的,我在 codeigniter 文件夹中有一个 htaccess 文件,代码是
  • 那么你不应该需要第一个 .htaccess,因为 codeigniter .htaccess 会处理所有事情。只删除最后一行。
  • 我已经从 wordpress htaccess 中删除了重定向规则,并从 codeigniter htaccess 中删除了最后一行。但面临同样的问题

标签: wordpress .htaccess codeigniter


【解决方案1】:

这应该是评论,但有点太长了。

重申初始设置:Wordpress 安装在文档根目录public_html 中。还有一个旧的 CodeIgniter 网站,安装在public_html/oldsite/codeigniter

应该只需要两个 .htaccess 文件,一个用于 Wordpress,一个用于 CodeIgniter。两者均取自各自的网站,https://codex.wordpress.org/htaccesshttps://codeigniter.com/user_guide/general/urls.html

# /public_html/.htaccess
# Wordpress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# /public_html/oldsite/codeigniter
# CodeIgniter
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

如果由于某种原因失败,则可能是由于相对路径 index.php 导致 Apache 混淆了。 如果是这个原因,你可以通过使用绝对路径来修复它,例如

RewriteRule ^(.*)$ /oldsite/codeigniter/index.php/$1 [L]

或添加RewriteBase 指令

RewriteBase /oldsite/codeigniter

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2016-08-30
    • 2014-06-01
    相关资源
    最近更新 更多