我正在尝试在mod_rewrite
中创建.htaccess
规则集,以便我可以创建一些指向页面功能的平面链接。
当用户输入:http://example.com/where/location
我想重定向到:http://example.com/index.php?where=location
我目前正在使用:
RewriteEngine on
RewriteRule ^where/([^/.]+)/?$ /index.php?where=$1
除了index.php
中的css,JS和图像链接不再被发现之外,哪种工作 - 就像服务器从不存在的/where/location
子服务器提供index.php一样。目录
这是发生了什么,有没有办法让服务器通常使用相对链接从根目录中的实际位置为index.php提供服务?
答案 0 :(得分:2)
服务器端在这里无关紧要。您 实际上是从/where/location
为该网站提供服务;这个URL在内部被重写是无关紧要的。如果您正在使用CSS文件的相对路径,浏览器将根据其所在的当前URL解析这些路径。最佳策略通常是为包含的文件使用绝对路径,例如:
/css/style.css
而不是
css/style.css