我正在创建我的第一个codeigniter项目。我非常喜欢这个框架。但是,无论如何要从网址中删除 index.php 页面?旁边.htaccess?就像我使用表单助手类生成表单一样。使用此代码
<?= form_open('site/login'); ?>
网址出现了
<form action="http://localhost/index.php/site/login" method="post" accept-charset="utf-8">
如果有人分享如何做的话会很棒。感谢
答案 0 :(得分:1)
不可能没有 .htaccess,但为什么你没有访问它?您可以将其放在index.php
的目录中以获得所需的效果。
因为我不喜欢死链接,所以我会引用官方文档:
删除index.php文件
默认情况下,index.php文件将包含在您的网址中:
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.
答案 1 :(得分:1)
这不会从form_open()的输出中删除它。
如果您使用.htaccess重新路由请求,请确保您还将配置文件中的index_page设置为空字符串。
$config['index_page'] = '';
我的index_page配置项设置为'',form_open()方法不会在表单操作URL中放置index.php。
答案 2 :(得分: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/