我正在使用htaccess下面从Codeigniter中的url中删除index.php。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
问题是用户仍然可以使用以下代码来访问该方法:
http://example.com/index.php/controller/method
如果他们添加index.php,我如何将重定向到没有index.php的网址或将其发送到错误页面?
答案 0 :(得分:8)
RewriteEngine On
RewriteRule ^index.php/(.*)$ /$1 [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
第一条规则将用户非index.php网站重新定向到第二条规则和宾果游戏。