Forum Moderators: phranque
Note that accepting requested URL-paths with or without a trailing slash will result in duplicate content (two URLs resolving to the same content) -- a problem much-discussed in our Google search forum. This should be avoided by picking no-slash or with-slash URLs as your preferred canonical URL form, and adding a rule to redirect the non-preferred-format URLs to the preferred URLs. Then your two internal rewrite rules should be modified to accept only the canonical form.
Generally, 'pages' should not have a trailing slash, and 'directories' should have a trailing slash.
Jim
# If requested URL-path ends with a slash but does not resolve to a physically-existing directory
RewriteCond %{REQUEST_FILENAME} !-d
# externally redirect to remove the trailing slash
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]
#
# If requested URL-path starts with "page" and is not followed by any slashes or periods,
# then rewrite to script with the requested page name specified as "page=" in query string
RewriteRule ^page([^/.]+)$ index.php?page=$1 [L]
#
# Else rewrite URL-paths consisting only of alphanumeric characters or
# hyphens to script with requested URL-path as "v=" in query string
RewriteRule ^([a-z0-9\-]+)$ index.php?v=$1 [NC,L]
If you opt to redirect from trailing-slash to non-trailing slash URLs using the first rule, make sure that all links on your own site specify non-trailing-slash URLs. The rule should be used only to correct linking errors on other sites (including search listings), but all links within your own site should point to the correct URL and should not invoke this redirect.
Jim