这是我的.htaccess文件 -
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^template\.php$ - [L]
#RewriteRule ^index\.php$ - [L]
RewriteRule . /template.php [L]
</IfModule>
它旨在通过/template.php汇集所有内容,以便处理其余的URL&amp;域。
无论出于何种原因,当URL中提供分号(这是构建我的房地产网站上的列表查询的URL的重要部分)时,分号将变为%3b,这不是我想要的。
奇怪的是,这只发生在一个网站上...我的所有网站都在同一台服务器上。
以上测试网址没问题。
但是在这里采取相同的文件..
你会注意到;分区名称(Arbutus,Cambie&amp; Coal Harbour)之间神秘地改变为%3b,并且生成的页面标题也是错误的,因为它没有获得正确的数组传递进行处理。
我完全清楚这可能不是一个.htaccess问题...但这是我能想到的最好的。
答案 0 :(得分:1)
你的第一条规则就是这样做。当我点击你的第二个链接,因为它没有以斜杠或句点结束时,它会将我重定向到相同的URI,除了斜杠。尝试使用NE
标志,以便分号不会被编码:
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L,NE]
不确定为什么dev
网站没有做同样的事情,除非它缺少重定向规则。