我是网址重写的新手。
到目前为止我做了什么:
使用多个在线资源我已成功通过以下规则将我的网址loclahost/mysite/attach.php?q=1
重写为localhost/mysite/attach/1
:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /mysite/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^attach/([^/]+)$ attach.php?q=$1 [NC,L]
问题:
我的问题是使用此规则我的所有网址都被覆盖了。如果我单击导航菜单上的任何链接,它会在页面前附加attach/
。此外,CSS和图像链接也被覆盖,如localhost/mysite/attach/style/css/style.css
,而它应该是localhost/mysite/style/css/style.css
因此,浏览器也不会对页面进行样式设置。
答案 0 :(得分:0)
检查此规则的最后3行,您将全部设定。
RewriteCond %{QUERY_STRING} (^|&)q=1($|&)
RewriteRule ^mysite/attach\.php$ /mysite/attach/1?&%{QUERY_STRING}