【问题标题】:Redirecting old permalink structure to the new one将旧的永久链接结构重定向到新的
【发布时间】:2011-06-01 21:01:50
【问题描述】:

我在一个子文件夹中安装了一个 wordpress 站点,该子文件夹具有类别/标题后的永久链接结构,因此产生了以下 url 结构

http://www.mysite.com/subfolder/category/post-title

但是,由于我需要将我的网站移动到根文件夹并将永久链接结构更改为年/月/后标题,如下所示,通过其他网站上发布的链接访问我的网站的用户会看到 404 错误页面正如预期的那样。

http://www.mysite.com/year/month/post-title

在进行更改、将 wordpress 移动到根目录并更改永久链接结构时,我忘记考虑到可能会发生这样的问题。无论如何,我犯了一个错误,现在我正在尝试解决这个问题。

我想知道有没有办法将旧网址重定向到新网址?编辑 .htaccess 或使用插件或其他东西。在这个阶段,方法并不重要。我只想解决问题

有什么帮助吗? 提前致谢。

【问题讨论】:

    标签: wordpress redirect permalinks


    【解决方案1】:

    使用WordPress › Redirection « WordPress Plugins,它将进行301重定向,导入重定向的csv并记录404,而无需处理mod_rewrite和.htaccess。

    【讨论】:

    • 嘿@songdogtech,我尝试使用该插件,但显然该插件已损坏。我既不能创建重定向,也不能创建任何模块。我在插件讨论论坛中写过这个问题。希望它会尽快修复。感谢您的建议。
    • 不知道任何错误。根据我的经验,该插件可以完美运行。
    • 嘿@songdogtech,我已经解决了插件的问题。该插件未在数据库中创建重定向表。所以我不得不在插件的选项部分下删除重定向,然后重新激活它。现在插件和重定向工作完美。感谢您的帮助。
    【解决方案2】:

    mod_rewrite 是您正在寻找的,如果您对您的服务器具有这种访问权限。

    http://httpd.apache.org/docs/current/mod/mod_rewrite.html

    【讨论】:

    • 我需要为每个帖子编写重定向/重写规则还是有办法解决所有帖子?
    • 链接说明了一切 - 您可以将表达式与请求的 URL 匹配,因此假设您的所有帖子标题都相同,您可以匹配第一部分 /subfolder/category/ 并将其替换为/year/month/如果您的帖子标题不同,您将遇到更困难的时间,因为重命名所有这些并非易事。
    • 例如:一个简单的条目看起来像这样(对于旧帖子 www.mysite.com/subfolder/category/post-title 和相应的新帖子 www.mysite.com/year /month/post-title) RewriteRule ^subfolder/category/(.*)$ /year/month/$1 但是,这只是我的想法(不记得正则表达式引擎的细节)。更熟悉正则表达式和 Apache 的人可能会有更好的解释,或者您可能只是深入文档并弄清楚您的具体情况。
    • 嘿@uscere90,我已经根据您的示例和 mod_rewrite 文档尝试了很多重写器,但不幸的是未能解决问题 =( 顺便说一句,我忘了提到一件事。我不只是将我的站点移动到同一台服务器上的根目录。我将站点移动到另一台服务器并从域面板设置重定向规则并将域重定向到安装在新服务器根目录上的站点。你认为这与问题有什么关系?问候。
    • 也许吧?如果我理解正确,您是否使用旧站点的域面板设置了重定向?这指向新站点?如果是这种情况,您的重写规则可能必须稍有不同,因为旧服务器重定向到新服务器的请求可能与尝试访问 www.mysite.com/subfolder/category/post- 的用户有所不同标题直接来自您的新网站。提到的插件 songdog 应该可以毫不费力地完成所有这些工作。我建议再看看它。您遇到了什么样的问题/错误?
    【解决方案3】:

    如果您使用的是 Apache,mod_aliasmod_rewrite 应该是首选。如果您使用的是 IIS,则需要根据您是在 IIS 6.x 还是 IIS 7.x 上使用不同的解决方案。

    【讨论】:

    • 是的,我正在使用 apache。但是我需要为每个帖子编写重定向/重写规则还是有办法解决所有帖子?
    • 看起来 unscere90 在下面的一些重写细节上命中了。简而言之,您应该能够将帖子与正则表达式和 mod_rewrite 语法相匹配。
    • 作为警告,请注意 Wordpress 写出的规则与您添加的任何自定义规则之间的冲突。我记得我在一个晚上的大部分时间里都在追逐我的尾巴,试图克服这些规则之间的冲突。
    • 在尝试基于@uscere90 的示例代码的各种重写规则时,我已经遇到了一些冲突=)
    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2012-04-18
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2021-04-01
    相关资源
    最近更新 更多