2009-05-21 75 views
1

我是新来的这个mod_rewrite。 我已经能够成功地重写URL是这样的: http://mydomain.com/products/12这样:http://mydomain.com/products.php?prodId=12mod_rewrite需要的URL信息

但是,当我给http://mydomain.com/products/12在地址栏,CSS和JS文件没有加载。

但是,当我访问http://mydomain.com/products.php?prodId=12 js和css得到正确加载。请让我知道如果我失去了一些东西。

我的.htaccess看起来是这样的:

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^products/([0-9][0-9])/$ /products.php?prodId=$1 [L] 

我的CSS和JS文件夹也都在同一个文件夹。

回答

3

你必须使用你的脚本/ css文件相链接,就像这样:

<script src="my.js"></script> 

这适用于原来的网址,但在新的话,会看在“产品”目录,该目录当然不存在。你可以使用绝对路径,而不是:

<script src="/my.js"></script> 
5

你需要知道,相对URI(因此绝对和相对URI路径太)从基本URI是解决 - 如果没有明确声明 - 当前文档的URI 。

因此,如果您使用相关URI foo/bar引用来自/products/12的外部资源,它会解析为/products/foo/bar

若要解决此问题,请使用绝对URI路径(从/开始)或绝对URI(以协议开头)或显式设置除当前(请参阅BASE HTML element)以外的基本URI。但请注意,更改基本URI有一些副作用,因为它会影响每个相对URI。