例如:我的网站被这样调用:
www.example.com/controller/method/parameter1/parameter2
现在,.htaccess 需要将此 URL 重写为:
www.example.com/index.php/controller/method/parameter1/parameter2
但问题是:图片,样式表或者js目录,不应发生重定向。
我该如何实现这一点?我只知道 mod-rewrite 引擎是我的好朋友。
答案1
为了完成 Khal Weir 的回答,最终的规则应该是这样的:
RewriteBase /
RewriteCond %{REQUEST_URI}!^(/css/|/js/|/images/|/robots.txt)
RewriteRule . /index.php/ [L]
答案2
您可以按照其他推荐的方式进行过滤,也可以过滤硬盘上现有的文件:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php/ [L]
如今大多数 CMS 系统都像这样进行过滤。
答案3
您可以执行以下操作:
RewriteCond $1 !^(css|js|images|robots\.txt)