我正在使用codeigniter我想从url重写index.php。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ ./index.php/$1 [L]
我在.htaccess
index.php
中使用此代码时未删除。
但是当我从网址中手动删除index.php
时,它可以正常工作。
答案 0 :(得分:3)
删除'index.php'
并替换为 config / config.php 中的''
,即可完成此操作。
这应该是文件中创建的第二个密钥。这会更改您网站上的所有base_url()
和site_url()
功能。
答案 1 :(得分:0)
当我在.htaccess index.php中使用此代码时,不删除。
这些规则只将请求路由到index.php,它没有做任何关于“删除”它的事情。这取决于您在自己的内容中生成的链接。如果由于某种原因,您需要处理外部链接并希望将客户端重定向到缺少index.php的新URL(如Google索引机器人),那么您可以执行此操作:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.php/([^\ ]+)
RewriteRule ^index.php/ /%1 [L,R=301]
答案 2 :(得分:0)
更改 $ config ['index_page'] ='index.php'; 在config.php中 $ config ['index_page'] ='';
答案 3 :(得分:0)
AllowOverride All
确保目录部分的apache配置中存在allow override指令。如果位于指定目录中,则可以读取.htaccess
文件。
例如
<Directory /var/www>
AllowOverride All
</Directory>
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride