1

我将我的 Wordpress 永久链接结构从 %year%/%months%/ 更改为 %postname%

所以我在.htaccess中创建了这个 mod 别名规则,但我有一个问题:

RedirectMatch 301 /\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1

规则还重定向 wp-content 目录下的图像,因此domainname.com/wp-content/uploads/2013/11/name.jpg变为domainname.com/name.jpg

我不能使用 RewriteCond,因为这个 RedirecMatch 是 mod_alias,我尝试使用!^/(wp-content.*)$但不起作用。

我该如何解决?最好使用 RedirectMach 或 RewriteRule (我没有更改服务器)?

你能发布一个更好的正则表达式吗?

谢谢!

4

2 回答 2

0

您可能应该坚持使用 mod_rewrite 而不是 mod_alias,因为它会干扰 wordpress 的 mod_rewrite 规则。mod_rewrite 和 mod_alias 都会在 URL 文件处理管道的不同点影响相同的请求 URI,因此您最终可能会同时被重定向和重写。

RewriteCond %{REQUEST_URI} !\.(jpeg|gif|png)$ [NC]
RewriteRule ^\d{4}/\d{2}/([^/]+?)(/?)(.*)$ http://domainname.com/$1 [L,R=301]
于 2013-11-15T16:57:33.510 回答
0

尝试^$

RedirectMatch 301 ^/\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
于 2013-11-15T16:56:04.130 回答