我在这方面遇到了困难。好吧,我使用codeigniter创建了一个登录页面,其中整个路径http://localhost/CodeIgniter_2.1.3/index.php
将使用.htaccess重写为http://localhost/login
。好吧它工作得很好,但问题是我成功登录后,页面使用重定向('next_page')重定向到下一页;因为网址为http://localhost/CodeIgniter_2.1.3/index.php/next_page
而不是http://localhost/next_page
。我还为该部分创建了一个重写器:
RewriteRule ^events$ /CodeIgniter_2.1.3/index.php/events [L,NC]
每当我键入地址栏中的http://localhost/next_page
时,页面就会显得很好(因为我没有在登录和此页面上应用任何规则。)我也尝试使用重定向('http:/ /本地主机/事件);这也很好,但我知道这不是真正的解决方案。哦顺便说一句,我的.htaccess存在于wampserver的www文件夹中。有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
首先,您的域ROOT文件夹应该是codeigniter文件夹
forexample
c:/www/codeigniter_2.1.3/
只需将文件从codeigniter_2.1.3移动到根文件夹或将codeigniter文件夹设为ROOT。
然后使用正常的.htaccess重写为:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
使用Codeigniter ROUTER制作您想要的页面
示例:
$route['login'] = 'welcome/login';
将从Welcome控制器登录功能加载http://localhost/login
页面。
您可以在config文件夹中的routes.php上设置$ routes。
P.S>如果你不想在每个页面上看到index.php,请检查你的Config / config.php中的index_page并将其留空。
答案 1 :(得分:1)
您可能只想将虚拟主机添加到localhost。这是一个step by step explanation on how to do that。
现在您要做的就是在.htaccess
文件夹中创建一个CodeIgniter_2.1.3
文件,该文件只删除网址中的index.php
。