我正试图从我的网站之一,它的工作原理,但要保持尾随斜杠在几个网址,并希望从所有剩余的删除。网站内容可根据您所在的地区或您选择的地区访问。
该网站具有特定于区域的设置,下面是网站结构设置示例
印度-example.com/in/
美国-example.com/us/
阿联酋-example.com/ae/
国际-example.com
其他页面,如
example.com/in/products
example.com/us/blogs
example.com/product
我想在像example.com/us/
、example.com/uk/
这样的区域后面保留尾随斜杠
但希望从所有剩余的URL中删除
example.com
example.com/us/products
example.com/us/blogs
example.com/blogs
我的现有代码将删除所有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]
如何在codeigniter 3设置中实现这一点?
1条答案
按热度按时间9avjhtql1#
您可以在.htaccess中使用条件语句来适应不同的区域。
第一组规则从不特定于区域的URL中删除尾部斜杠。它检查请求是否不是针对现有目录,以及请求URI是否不是以/in/、/us/或/ae/开头。如果这两个条件都满足,则使用301重定向删除尾部斜杠。
第二组规则在特定于区域的URL后面添加一个斜杠。它检查请求是否不是针对现有目录,以及请求URI是否以/in/、/us/或/ae/开头。如果这两个条件都满足,则使用301重定向添加尾随斜杠。