除非使用 [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 虚拟主机