除非使用 [R],否则 URL 重写不适用于 wordpress

Posted

技术标签:

【中文标题】除非使用 [R],否则 URL 重写不适用于 wordpress【英文标题】:Url rewriting not working with wordpress unless using [R] 【发布时间】:2014-10-11 07:50:16 【问题描述】:

我在我的网站上的文件夹 blog-ita/ 上安装了 Wordpress。现在,我想添加一个重写规则以允许从website-name/blog/ 访问它。

我使用了这个重写规则:

RewriteRule ^website-name/blog/(.*)$ blog-ita/$1

现在,如果我添加 [R] 标签就可以了,否则我会从 wordpress 中得到 404 not found 页面,而不是我想查看的页面。

怎么可能?如果没有 [R] 标志,我该如何进行这项工作?

【问题讨论】:

按照this guide 中的步骤操作可能会对您有所帮助。如果您想使用除根目录以外的任何其他目录,我无法测试这是否也有效。否则你必须代理请求。 是的,它也适用于其他目录,谢谢!您应该将此作为答案发布,因为它就是答案。 我也为此写了一个答案。 【参考方案1】:

您可以从 Wordpress 关注 this guide,让 Wordpress 在与 wordpress 实际所在位置不同的目录中工作。

您想在blog-ita 目录中安装wordpress。您希望 url 改为显示 website-name/blog。请按照以下步骤操作:

    转到管理部分的“常规”面板并更改/选中以下框,然后保存更改: 站点地址 (URL):将其更改为 http://example.com/website-name/blog 确保 WordPress 地址正确配置为htttp://example.com/blog-ita。 复制/blog-ita中的index.php和.htaccess文件并粘贴到/website-name/blog中。 你需要复制,而不是移动。 在您喜欢的文本编辑器中打开/website-name/blog 中的index.php 文件,并将require( dirname( __FILE__ ) . '/wp-blog-header.php' ); 的行更改为指向安装wordpress 的目录中的同一文件。在这种情况下,它应该更改为require( dirname( __FILE__ ) . '../blog-ita/wp-blog-header.php' );。保存更改。

从现在开始,wordpress 应该可以在http://example.com/website-name/blog/ 获得。 admin 部分仅在实际安装目录 (/blog-ita/admin) 中可用。

【讨论】:

以上是关于除非使用 [R],否则 URL 重写不适用于 wordpress的主要内容,如果未能解决你的问题,请参考以下文章

带有忽略大小写的 JDBC URL 不适用于 H2 数据库连接

在 IIS7 URL 重写模块中,我可以在重定向规则中指定不适用于 http-post 请求吗?

RewriteCond 适用于 HTTP,但不适用于 HTTPS 虚拟主机

嵌套 url 不适用于 Django REST 框架

Spring 安全忽略 url 不适用于我们的安全忽略方法 [重复]

FriendlyID 历史记录不适用于 Rails 中更新的模型 url