【问题标题】:htaccess help moving Expression Engine site to Wordpresshtaccess 帮助将 Expression Engine 站点移至 Wordpress
【发布时间】:2011-05-16 23:41:09
【问题描述】:

我目前有一个 Expression Engine 博客,我将转移到 Wordpress,当前的 url 结构是 /blog/cmets/page-title

我已将帖子导入 Wordpress,我将为漂亮的 url 保留相同的页面标题,但只希望地址为 /page-title

Wordpress htaccess 文件如下

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

谁能告诉我如何在此块中执行此附加重定向?这也将完全确保搜索引擎索引不会受到影响,因为它已经运行了 4 年,我目前有超过 1700 篇博客文章被索引。

【问题讨论】:

    标签: wordpress .htaccess expressionengine


    【解决方案1】:

    将此放在 .htaccess 文件中的 WordPress 规则之前:

    RedirectMatch ^/blog/comments/(.+)$ /$1 [R=301]

    这会将http://yourdomain.com/blog/comments/my-post 重定向到http://yourdomain.com/my-post,并告诉搜索引擎该重定向是永久性的。

    注意:WordPress 不鼓励使用/%postname%/ 作为永久链接结构,因为它会添加更多查询来确定要加载的内容。来自http://codex.wordpress.org/Using_Permalinks

    出于性能原因,强烈建议不要使用 %postname% 开始永久链接。

    所以我建议改用 /blog/%postname% 之类的东西,在这种情况下,您的规则将如下所示:

    RedirectMatch ^/blog/comments/(.+)$ /blog/$1 [R=301]

    【讨论】:

    • 哇,太完美了,非常感谢!也感谢您的性能提示。
    • 我知道这应该可以工作,而且我读过很多次,这是正确的方法,但我无法让它工作,它肯定是 (.+) 不是 (.* )?我都试过了,第二个给了我一个内部服务器错误。我在子目录 /wordpress 中有 wordpress,每个都有一个 htaccess 文件。
    • 好的,我试过这个:RedirectMatch ^/blog/cmets/(.+)$ /wordpress/blog/$1 [R=301] 用于根目录中的 htaccess 文件,但后来我得到了一个内部服务器错误
    • 好的,我现在试试,我的 wordpress 安装在一个子目录中,如果该目录中的 htaccess 文件也有这个吗?也应该是 RedirectMatch ^/blog/cmets/(.+)$ /wordpress/blog/$1 或只是 RedirectMatch ^/blog/cmets/(.+)$ /blog/$1 谢谢你的帮助:)
    • 啊哈!明白了,一个空间设法进入我的 wordpress htaccess 规则,如您在 RewriteRule 上方所见。 /index.php [L] 非常感谢你对 D-Rock 的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2018-04-22
    • 2016-07-26
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多