Skip to content

Technology Forum

SEO, Speed Up website, Server Optimization, Linux, Open Source Softwares

  • Home
  • General
    • Web Server
    • Website Formatting
  • IT Companies
  • Optimization
    • PHP
  • Linux
  • Home
  • Optimization
  • Add Trailing Slash to URL (.htaccess)
CSS
Word Wrap long text in HTML
PHP
Encrypt and Decrypt for URL Using PHP
Plesk Panel
Plesk: Disable Mail Service for domain
HTML
HTML: Link rel – Preload
General
History of the Internet
Optimization
PHP Code Optimization

Add Trailing Slash to URL (.htaccess)

Posted on November 24, 2014November 24, 2014 By admin No Comments on Add Trailing Slash to URL (.htaccess)
Optimization, Web Server

Some of search engines remove the trailing slash from URLs that look like directories – e.g. Yahoo does it while listing on their search engine. This 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: chandigarhcity.info/business_contact_details/5101/MaxWeb-Solutions/, indianhelpline.in/business-contact/4867-maxweb-solutions/ are indexed in Yahoo as chandigarhcity.info/business_contact_details/5101/MaxWeb-Solutions, indianhelpline.in/business-contact/4867-maxweb-solutions – which would result in two urls with the same content.

The solution was to create a .htaccess rewrite rule that adds the trailing slashes to these urls.

Example – redirect all urls that doesn’t have a trailing slash to urls with a trailing slash

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

Explanation of this 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 following now:

RewriteCond %{REQUEST_FILENAME} !-f makes sure that files that are existing will not get a slash added. You shouldn’t do the same with directories since this would exclude the rewrite behaviour for existing directories.

The line RewriteCond %{REQUEST_URI} !example.php excludes a sample URL that shouldn’t be rewritten. This is just an example – if you don’t have any file or URL that shouldn’t be rewritten, remove this line.

The condition RewriteCond %{REQUEST_URI} !(.*)/$ finally fires when a urls doesn’t contain a trailing slash – this is all what we want. Now we need to redirect these URL with the trailing slash:

RewriteRule ^(.*)$ http://domain.<tld>/$1/ [L,R=301] does the 301 redirect to the URL with the trailing slash appended for us. You should replace domain.com with your url. Make sure that you use the right domain name.

Post navigation

❮ Previous Post: Script to convert InnoDB tables to MyISAM
Next Post: Popular Sites run on which Platforms? ❯

You may also like

Web Server
Security HTTP Headers
Optimization
Apache Optimization
Web Server
PHP FPM modification – Plesk
Optimization
eAccelerator

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

View Posts

  • PHP FPM modification – Plesk
  • HTML: Link rel – Preload
  • HTML: Attributes of rel
  • Linux Commands
  • Security HTTP Headers

Categories

  • Domain Name
  • General
    • Servers
    • Web Server
    • Website Formatting
  • IT Companies
  • Linux
  • MySQL
  • Optimization
    • PHP
  • Troubleshooting
  • Web Hosting Control Panel
    • Plesk Panel
  • Websites
    • CSS
    • HTML
    • Optimization
  • Windows
    • Windows 10

Recent Posts

  • PHP FPM modification – Plesk
  • HTML: Link rel – Preload
  • HTML: Attributes of rel
  • Linux Commands
  • Security HTTP Headers

Copyright © 2025 Technology Forum.

Theme: Oceanly News by ScriptsTown