关于这个主题似乎没有太多信息,所以我将概述我的具体问题,然后也许我们可以将问题和答案塑造成更通用的东西。
我有这个重写规则
RewriteEngine On
RewriteBase /bookkeepers/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/?$ index.php?franchise=$1
哪个改变了这个URL
http://example.com/location/kings-lynn
进入这个
http://example.com/location/index.php?franchise=kings-lynn
我遇到的问题是,如果我添加尾部斜杠
http://example.com/location/kings-lynn/
然后查询字符串返回为
franchise=kings-lynn/
由于某种原因,我的 CSS 和 Javascript 文件都没有被加载。
有任何想法吗?
正如 @Paul Tomblin 所说,.+ 是贪婪的;也就是说,它尽可能地匹配。
^(.+[^/])/?$
告诉它匹配任何内容,后跟不是 / 的字符,然后是可选的 /。这具有不捕获尾随 / 的效果。
CSS 和 Javascript 不起作用的最可能原因是您使用了相对路径,例如 src="my.js"。当尾部有斜杠时,它看起来像一个目录,因此您的浏览器将查找 /location/kings-lynn/my.js。您可以简单地通过使用文件的绝对路径(例如 /location/my.js)来解决此问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)