0

我有这个页面,我想使用 mod_rewrite 进行重写

http://example.com/dev/main/1234

http://example.com/dev/index.php?page=main&id=1234

我已成功让 mod_rewrite 为该页面工作,但 CSS 和图像仍然存在问题。

  1 Options +FollowSymLinks
  2 
  3 ReWriteEngine on
  4 RewriteRule ^(.*)/([^/\.]+)/?$ /dev/index.php?page=$1&id=$2 [L]
  5 RewriteCond %{REQUEST_FILENAME} !-d
  6 RewriteCond %{REQUEST_FILENAME} !-f

css 位于 /var/www/dev/css,图像位于 /var/www/dev/img。当我访问http://example.com/dev/main/1234时,如何让 mod_rewrite 加载相同的图像和 css ?谢谢!

4

2 回答 2

0

哇。让它与一些黑客一起工作。不知道这是否是正确的方法,但它有效:

RewriteRule ^(.*)/css/(.+)?$ css/$2 [NC,L]
RewriteRule ^(.*)/img/(.+)?$ img/$2 [NC,L]
于 2012-08-07T12:37:44.927 回答
0

您的 htaccess 中有这两个条件吗(我假设您的 htaccess 在 /dev 文件夹中)?

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

如果没有,您的图片网址将被重写,因为它们与您的正则表达式匹配(css/image.jpg)

当请求是真实路径(指向文件或文件夹)时,这两个条件避免了 url 重写

于 2012-08-07T12:07:55.377 回答