0

我创建了一个 .htaccess 文件,其中包含一个站点的重定向,该站点是大型 WordPress 多站点安装的一部分。

.htaccess 内容以此开头(这是必要的,因为同一个 .httacess 文件必须用于多个站点:

RewriteCond %{HTTP_HOST} ^mydomain.com [nc]

然后包含一系列重写,如下所示:

RewriteRule ^about-my-site$ about [R=301,NC,L]

如果我访问mydomain.com/about-my-site,我会正确重定向到mydomain.com/about 但是,如果我访问mydomain.com/about-my-site/(请注意尾部斜杠),我会收到“找不到页面”错误。

4

2 回答 2

1

将您的 RewriteRule 更改为

RewriteRule ^about-my-site/?$ about [R=301,NC,L]
于 2013-05-08T20:18:24.080 回答
1

这些规则应该在你的 WordPress 规则之前,确保重写是打开的,并设置一个重写基础/-

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} mydomain.com [NC]
RewriteRule ^about-my-site/? about [R=301,NC,L]
</IfModule>

在这里测试:http: //htaccess.madewithlove.be/

input url
http://mydomain.com/about-my-site/

output url
http://mydomain.com/about

debugging info
1 RewriteEngine On  
2 RewriteBase / 
3 RewriteCond %{HTTP_HOST} mydomain.com [NC]        This condition was met
4 RewriteRule ^about-my-site/? about [R=301,NC,L]   This rule was met, the new url is http://mydomain.com/about
Test are stopped, because of the R in your RewriteRule options. A redirect will be made with status code 301
于 2013-05-08T20:40:31.917 回答