例如,对于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/dosomething
到www.example.com/foo/dosomething/
?
答案 0 :(得分:1)
尝试:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ /foo/$1/ [L,R=301]
在myfile.php
规则之前。 301重定向将确保搜索引擎索引将等同于2个URL。