I am trying to remove trailing-slash from one of my website and it works but want to keep trailing-slash on a few URLs and want to remove from all remaining. The website content is accessible based on the region you are in or the region you choose.
The website has region-specific setup, below is the website structure setup example
India - example.com/in/
US - example.com/us/
UAE - example.com/ae/
International - example.com
and other pages like
example.com/in/products
example.com/us/blogs
example.com/product
I want to keep trailing slash after regions like example.com/us/, example.com/uk/
but want to remove from all remaining URLs like
example.com
example.com/us/products
example.com/us/blogs
example.com/blogs
My existing code removes trailing slashes from all URL
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*)/$
RewriteRule ^(.+)/$ $1 [R=307,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
How to make this possible in codeigniter 3 setup?
You can use conditional statements in your .htaccess to accomodate the different regions.
The first set of rules removes the trailing slash from URLs that are not region-specific. It checks if the request is not for an existing directory and if the request URI does not start with /in/, /us/, or /ae/. If both conditions are met, the trailing slash is removed using a 301 redirect.
The second set of rules adds a trailing slash to region-specific URLs. It checks if the request is not for an existing directory and if the request URI starts with /in/, /us/, or /ae/. If both conditions are met, a trailing slash is added using a 301 redirect.