我有这个页面,我想使用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?谢谢!
答案 0 :(得分:0)
你的htaccess中有这两个条件(我假设你的htaccess在/ dev文件夹中)?
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
如果没有,您的图片网址将被重写,因为它们与您的正则表达式匹配(css / image.jpg)
当请求是真实路径(指向文件或文件夹)时,有两个条件可以避免重写URL
答案 1 :(得分:0)
哇。得到了一些黑客攻击。不知道这是否是正确的方法,但它有效:
RewriteRule ^(.*)/css/(.+)?$ css/$2 [NC,L]
RewriteRule ^(.*)/img/(.+)?$ img/$2 [NC,L]