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

如何删除中心某处的连指仪中每个路径中的突出部分?我想要干净的非?"index.php"index.php-fied URLs


答案 1

如果您使用的是 Apache,请在根 Web 目录中放置一个 .htaccess 文件,其中包含以下内容:

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

另一个好的版本位于这里:

http://snipplr.com/view/5966/codeigniter-htaccess/


答案 2

我在删除索引时遇到了一些大问题.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'] = '';

祝你好运!


推荐