如何删除codeigniter路径中的“index.php”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

如何去除"index.php"中心某处的代码单元中的每条路径?

提问于
用户回答回答于

如果你使用的是Apache,则将.htaccess文件放在根网站目录中,其中包含以下内容:

RewriteEngine on
RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
用户回答回答于

我在删除index.php时遇到了一些大问题。作为一般规则,下面的.htaccess已经在多台服务器上进行了测试,并且通常可以工作:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]  

<Files "index.php">
AcceptPathInfo On
</Files>  

如果你没有任何运气,那么下一步就是调整你的配置文件。尝试一些其他的URI协议,例如

| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO

   $config['uri_protocol']  = 'ORIG_PATH_INFO';

如果你仍然没有任何运气,请尝试更改重写规则以包含您的子文件夹。如果你在开发服务器上使用临时URL,这通常是一个问题:

RewriteRule ^(.*)$ /subofolder1/subfolder2/index.php/$1 [L]  

只要玩这些选项,一个应该工作。另外,请确保你的索引文件设置为:

$config['index_page'] = '';

扫码关注云+社区

领取腾讯云代金券