3

我正在使用下面的 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 的 url 或将它们发送到错误页面?

4

1 回答 1

9
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 站点,然后涉及您的第二条规则和宾果游戏。

于 2013-05-24T14:47:25.097 回答