1

比如对于www.example.com/foo/dosomething/,我有这样一个htaccess文件:

RewriteEngine On

RewriteRule ^dosomething/$ myfile.php [L]

这个 htaccess 文件在我的 foo 目录中,它实际上是存在的。但后来我意识到,输入 url 的用户可能会忘记结尾的正斜杠,所以他们可能会输入这个:www.example.com/foo/dosomething,然后他/她会得到一个 404。我不希望这样,所以我写了这个:

RewriteRule ^dosomething/$ myfile.php [L]

但后来我想起这对 SEO 不友好,因为两个“网页”具有完全相同的内容。所以我现在想要的是,如果 url 在末尾没有尾部正斜杠,那么 htaccess 可以重定向,例如:www.example.com/foo/dosomethingto www.example.com/foo/dosomething/?

4

1 回答 1

1

尝试:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ /foo/$1/ [L,R=301]

在你的myfile.php统治之前。301 重定向将确保搜索引擎索引将等同于 2 个 URL。

于 2012-10-03T05:22:59.467 回答