1

我在这方面很难。好吧,我使用 codeigniter 创建了一个登录页面,其中整个路径将http://localhost/CodeIgniter_2.1.3/index.php被重写为http://localhost/login使用 .htaccess。好吧,它工作得很好,但问题是在我成功登录并且页面使用 redirect('next_page'); 重定向到下一页之后;因为 URL 将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地址栏中键入时,页面就会显示得很好(因为我没有在登录和此页面上应用任何规则。)我还尝试使用 redirect('http://localhost/events'); 这也可以正常工作,但我仍然知道这不是真正的解决方案。哦,顺便说一句,我的 .htaccess 存在于 wampserver 的 www 文件夹中。有什么办法可以解决这个问题?

4

2 回答 2

2

首先,您的域 ROOT 文件夹应该是 codeigniter 文件夹

例如

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';

将设置http://localhost/login页面从欢迎控制器登录功能加载。您可以在 config 文件夹中的 routes.php 中设置 $routes。

PS> 如果您不想在每个页面上看到 index.php,请检查您的 Config/config.php 中的 index_page 并将其设为空白。

于 2012-10-24T04:41:55.767 回答
1

您可能只想将虚拟主机添加到本地主机。这是关于如何做到这一点的一步一步的解释

现在您所要做的就是.htaccess在您的CodeIgniter_2.1.3文件夹中创建一个文件,该文件将仅删除index.phpurl 中的 。

于 2012-10-24T04:42:25.377 回答