0

我在使用 mod_rewrite 时遇到了麻烦。

我的 wordpress 站点位于“wp”目录中。它可以作为http://localhost/wp/

网站上有页面http://localhost/wp/sample-page/

我想用 url 打开这个页面http://localhost/wp/sample-page-2/而不需要重定向。

这是 .htaccess 文件中的内容:

RewriteEngine On
RewriteBase /wp/
RewriteRule ^sample-page-2/$ sample-page/ [L]

但我收到 404 错误。

有人可以解释一下我做错了什么吗?提前致谢。

升级版:

@soju:好吧,“sample-page-2” - 只是示例

  1. 它不是文字意义上的页面/帖子。
  2. 实际上我试图在 url 中添加一个部分。例如http://localhost/wp/sample-page/section/。而这条规则RewriteRule ^sample-page/section/$ sample-page/ [L]并没有奏效。然后我决定“简化”url(“sample-page-2”而不是“sample-page/section”)——没有成功。

UPD2

顺便说一句,重定向RewriteRule ^sample-page-2/$ sample-page/ [R=301,L]有效

4

1 回答 1

1

我想wordpress重写规则是在你自己的规则之后,所以你应该删除[L]让wordpress处理sample-pageurl的选项

关于 UPD2 的编辑:嗯,它适用于 301 重定向,但你说你不想要重定向?

您可以添加一个过滤器rewrite_rules_array来制定自己的重写规则,看看 codex 上的示例:http: //codex.wordpress.org/Class_Reference/WP_Rewrite#Examples

于 2012-09-20T11:44:35.597 回答