invidious
invidious

Reputation: 241

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

I have a .htaccess file, but I'm not sure if it'll actually harm me instead of help me. How should I do this better to have search engines not penalize me with duplicate content?

I don't want them to rank login.php or /login, just /login/. And simiarly, if someone visits login.php or /login, I'd like them to be forced to /login/. How can I do this and optimize correctly?

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=$1 [NC,L]

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

Upvotes: 1

Views: 28

Answers (1)

anubhava
anubhava

Reputation: 785611

You can have some new redirect rules to redirect to pretty URLs:

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)/$ $1.php [NC,L]
RewriteRule ^(game|recover)/([a-z0-9]+)/$ $1.php?code=$2 [NC,L,QSA]

Upvotes: 1

Related Questions