How can I add a trailing slash to requested URLs

Description of the problem:

Some search engines remove the trailing slash from urls that look like directories - e.g. Yahoo does it. However it could result into duplicated content problems when the same page content is accessible under different urls. Apache gives some more information in the Apache Server FAQ.

Let's have a look at an example: enarion.net/google/ is indexed in Yahoo as enarion.net/google - which would result in two urls with the same content.

Solution:

The solution is to create a .htaccess rewrite rule that adds the trailing slashes to these urls. Example - redirect all urls that do not have a trailing slash to urls with a trailing slash:

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_URI} !example.php
 RewriteCond %{REQUEST_URI} !(.*)/$
 RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]

Explanation of the add trailing slash .htaccess rewrite rule:

The first line tells Apache that this is code for the rewrite engine of the mod_rewrite module of Apache. The 2nd line sets the current directory as page root. But the interesting part is:

 RewriteCond %{REQUEST_FILENAME} !-f 

makes sure that existing files will not get a slash added. You shouldn't do the same with directories since this would exlude the rewrite behaviour for existing directories. The line

 RewriteCond %{REQUEST_URI} !example.php

exludes a sample url that should not be rewritten. This is just an example. If you do not have a file or url that should not be rewritten, remove this line. The condition:

 RewriteCond %{REQUEST_URI} !(.*)/$ 

finally fires when a url does not contain a trailing slash. Now we need to redirect the urls without the trailing slash: pre> RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] does the 301 redirect to the url, with the trailing slash appended. You should replace domain.com with your url.

  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Upload max file size

Summary Locate the php.ini file in the folder your upload script resides in. If none...

Assigning an Add-on or Parked domain

In order to Addon or Park domains please perform the following steps: Login to your Gesatech...