【问题标题】:htaccess url rewriting questionhtaccess url重写问题
【发布时间】:2011-07-18 09:30:01
【问题描述】:

我有一个使用 CodeIgniter 制作的网站和一个 WordPress 网站 /blog。

假设我在 WordPress 中创建了一个可以在 /blog/my-page 上查看的页面。

是否可以使用 .htaccess 重写 URL 以删除 URL 的 blog 部分?所以我可以输入我的网站网址/my-page 来查看页面吗?

【问题讨论】:

  • 这是可能的,但是您如何识别哪个 URL 属于/应该由 CodeIgniter 处理,哪个由 WordPress 处理?

标签: wordpress .htaccess codeigniter


【解决方案1】:

从我的头顶..

#start the engine
RewriteEngine on

#requests to www.yourpage.com/anything/
RewriteCond %{REQUEST_URI} ^/([^/]+)/?$ [NC]

#are sent to www.yourpage.com/blog/anything/
RewriteRule .* /blog/%1 [L]

【讨论】:

  • 谢谢,但我将如何只为特定的 url 做呢?我不想将所有内容都重写为仅针对特定页面的博客,例如我的示例中的页面。
  • RewriteCond %{REQUEST_URI} ^/(my-page)/?$, RewriteRule .* /blog/my-page [L]
  • @geoffs3310 你必须为每次重写做一对
  • @boom 开玩笑吧?它可以在单行中轻松完成,无需 RewriteCond。
【解决方案2】:

以下规则会将(内部重定向)/my-page 重写为/blog/my-page:

RewriteEngine On
RewriteBase /

RewriteRule ^my-page$ /blog/my-page [NC,L]
RewriteRule ^another-page$ /blog/another-page [NC,L]
  1. 这需要放在网站根文件夹的.htaccess中。

  2. 如果您已经有一些重写规则,那么这个规则需要放在适当的位置,因为规则的顺序很重要。

  3. 您仍然可能需要对 WordPress 进行一些配置,以便它了解此 URL 是供他处理的(WordPress 可能仍会看到原始 URL)。我没有与 WordPress 合作太多,无法确定是否需要这样做(如果需要,该怎么做)——但请查看 Permalinks 设置。

【讨论】:

    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2012-04-23
    相关资源
    最近更新 更多