0

我正在创建我的第一个 codeigniter 项目。我非常喜欢这个框架。但是无论如何要从 url中删除index.php页面?在 .htaccess 旁边?就像我使用表单助手类来生成表单一样。使用此代码

<?= form_open('site/login'); ?>

网址出来了

<form action="http://localhost/index.php/site/login" method="post" accept-charset="utf-8">

如果有人分享如何做到这一点,那就太好了。谢谢

4

3 回答 3

1

这不会将它从 form_open() 的输出中删除。

如果您使用 .htaccess 重新路由请求,请确保您还将配置文件中的 index_page 设置为空字符串。

$config['index_page'] = '';

将我的 index_page 配置项设置为 '',form_open() 方法不会在表单操作 URL 中放置 index.php。

于 2013-09-05T21:01:00.383 回答
1

没有.htaccess 是不可能的,但为什么你不能访问它呢?你可以把它放在目录中index.php以获得你想要的效果。

因为不喜欢死链接,所以引用官方文档:

删除 index.php 文件

默认情况下,index.php 文件将包含在您的 URL 中:

example.com/index.php/news/article/my_article 您可以使用带有一些简单规则的 .htaccess 文件轻松删除此文件。以下是此类文件的示例,使用“否定”方法重定向除指定项目之外的所有内容:

 RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt)
 RewriteRule ^(.*)$ /index.php/$1 [L] In the above example, any HTTP
 request other than those for index.php, images, and robots.txt is
 treated as a request for your index.php file.
于 2013-09-05T19:44:24.803 回答
0
RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to 
index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]

您也可以参考以下链接:

https://www.formget.com/codeigniter-htaccess-remove-index-php/

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

于 2018-04-17T12:03:23.610 回答