0

我读了很多关于 codeigniter 的 mod_rewrite 并且他们中的很多人都在谈论创建一个 .htaccess 文件并在文件内部使用类似的东西

我是 codeigniter 的初学者,所以我正在从 youtube 教程中学习。起初我只安装了 apache 2.2 来运行我的 php,在使用带有 mod_rewrite 的 codeigniter 之后,我意识到安装 wamp 更容易,所以我卸载了 apache,mysql 然后安装了 wamp,它拥有一切。

之后,我继续学习 youtube 上关于 mod_write 的教程。我在 wamp 中激活了模块。

在 ci_intro 中创建了这个 .htaccess 文件,这是根文件夹

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /ci_intro/

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

ErrorDocument 404 /index.php
</IfModule>

我去了 config/config.php 并改变了

$config['index_page'] = '';

事情没有奏效。我得到了 404error 然后我尝试了一些东西

RewriteBase /ci_intro/

甚至还删除了整个项目,因为我在尝试 mod_write 之前备份了一些东西。即使在我检索了备份之后。我仍然没有得到error404页面。

我只是不断得到..

ci错误

因为我使用的是 wamp,所以当我去我的本地主机时,有一个部分说我的项目是 ci_intro ......我点击它上面的图片出来了。我将鼠标悬停在鼠标悬停并显示链接时检查显示的链接

[代码] http://localhost/ci_intro [代码]

有人知道这里发生了什么吗?

4

1 回答 1

0

您获得的浏览器页面是使用虚假或未注册域名的结果......浏览器无法将其解析为 IP 地址,因此它通过将您的请求重新解释为搜索词来“帮助”您。

发生这种情况是因为您使用“www.domain.tld”而不是“localhost”来访问您的网站。

我不确定您使用的是哪个 WAMP 分发版(有很多“WAMP”),但您的选择是:

A) 编辑 Windows 主机文件 (C:\Windows\system32\drivers\etc\hosts) 以将“www.domain.tld”本地解析为本地 IP 地址 127.0.0.1(并确保您的 VirtualHost 或服务器具有该域名称作为其 ServerName 指令的一部分)。

B)改用“本地主机”...http://localhost/

C) 使用 WAMP 自动为您设置网站 VirtualHosts,并具有像 Wamp-Developer Pro 那样的 LocalDNS 功能 - 所以以上都不重要。

现在一旦你通过了,可能还有其他一些问题......我猜 .htaccess 文件应该在 DocumentRoot 文件夹本身中。

于 2013-05-26T14:01:07.540 回答