如何在 .htaccess 中强制尾部斜杠并针对搜索引擎进行优化?

How can I force trailing slash, and optimize for search engines in .htaccess?

我有一个 .htaccess 文件,但我不确定它是否真的会伤害我而不是帮助我。我应该怎么做才能更好地让搜索引擎不因重复内容而惩罚我?

我不希望他们对 login.php 或 /login 进行排名,只是 /login/。同样,如果有人访问 login.php 或 /login,我希望他们被强制访问 /login/。我怎样才能做到这一点并正确优化?

RewriteEngine On
RewriteBase /

RewriteRule ^login/$ login.php [NC,L]
RewriteRule ^register/$ register.php [NC,L]

RewriteRule ^recover/$ recover.php [NC,L]
RewriteRule ^recover/([a-z0-9]+)/$ recover.php?code= [NC,L]

RewriteRule ^game/([a-z0-9-]+)/$ game.php?game= [NC,L]

您可以使用一些新的重定向规则来重定向到漂亮的 URL:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /(register|login|recover)(?:\.php)?[\s?] [NC]
RewriteRule ^ /%1/ [R=302,L,NE]

RewriteCond %{THE_REQUEST} \s/+(game|recover)\.php\?code=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/? [R=302,L,NE]

RewriteRule ^(register|login|recover)/$ .php [NC,L]
RewriteRule ^(game|recover)/([a-z0-9]+)/$ .php?code= [NC,L,QSA]