问题描述
|
这里的mod_rewrite中的菜鸟...我正在开发一个新站点并使用mod_rewrite。
问题是,当我在.htaccess中激活规则时,指向CSS文件和图像的链接变得不可读。
例如,我有这个:
http://www.dico2rue.com/dictionnaire.PHP?idW=675&word=Resto-basket
我转变成这样:
http://www.dico2rue.com/dictionnaire/675/Resto-basket
我知道这可能是因为浏览器正在
http://www.dico2rue.com/dictionnaire/675/css/general.css而不是基本目录,但是我希望有一种方法可以单独保留物理文件,并且仅解析其他URL以避免完整的URL。路径(显然减慢了下流速度...?...)。
谢谢。
解决方法
您需要添加这些行以在重写规则之前检查它是否不是文件或目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
,这个问题与mod_rewrite无关。您只需要在链接标记的src属性中为CSS文件提供有效的URL。您可能要使用的相对URL是\“ / css / general.css \”。请参阅相对URL rfc。
另一方面,您对mod_rewrite的想法可能有点偏离。在您的示例中,您实际上是在服务器的/ dictionnaire / 675 /路径中提供资源。您正在使用mod_rewrite而不是其他方法来进行操作的事实没有任何区别。