Q:

htaccess RewriteRule - Removing '/' From The URL Causes Request To Display In URL

I have a little problem concerning .htaccess.
The problem lies more in aesthetics than functionality. 
I have a very small htaccess file which contains the following, and nothing more:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9\/\-]*)$ index.php?request=$1 [QSA]

This sends any requests to index.php, parsing in the URI. I then manipulate/read the URI to get the relevant file.
An example URL would be this:
http://localhost/domain/fixtures/2015/
Now, if I was to remove the end '/', and hit enter, the URL would change to:
http://localhost/domain/fixtures/2015/?request=fixtures/2015
I have tried adding a '/' to the rewrite but it does nothing.
I have searched across Google to no avail. (Bearing in mind some of my searches went along the lines of, "/ added to url htaccess rewrite")
The main reason I want to get this sorted is because it doesn't look pretty, but also because it creates duplicate content (i.e. you can get to the same page from both URL), which is not good for SEO.
Any direction I can be pointed in is a great help.
Cheers

A:

If I am reading this right, you want external URLs in this form:
http://localhost/domain/fixtures/2015/

And NOT this form:
http://localhost/domain/fixtures/2015

In order to achieve this, you need to use a redirect to let the remote
client know that the latter form is not valid, e.g.,
RewriteEngine On
RewriteCond %{REQUEST_URI} !/$
RewriteRule .* %{REQUEST_URI}/ [R=301,L]

If you are also serving static content, you might want this as well:
RewriteEngine On
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* %{REQUEST_URI}/ [R=301,L]

So, the full recipe including your PHP content generator:
RewriteEngine On
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* %{REQUEST_URI}/ [R=301,L]
RewriteRule ^([a-zA-Z0-9\/\-]*)$ index.php?request=$1 [QSA]

