我安装了Apache for Windows。我买了CodeIgniter Professional并下载了它们的源代码。它说我应该把它的.htaccess放在网站的根目录下,所以我做了。我将基本网址设置为http://127.0.0.1/kids/,其中kids是网站的根文件夹。它显示主页很好。当我点击一个链接时,它总是给出404错误。它说,“请求的URL /index.php/welcome/cat/2在此服务器上找不到。”我在目录中尝试了几种可能的.htaccess,但没有成功。在.htaccess中,它指示:Codeigniter不是正确的路由
RewriteEngine on
RewriteCond $1 !^(index\.php|images|captcha|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
解释为什么它根本不起作用?我也检查了configs.php,它似乎也没关系。 config ['index_page']设置为空白。我删除了.htaccess文件,但仍然出现同样的问题,只是它说:“在此服务器上未找到请求的URL/kids/welcome/cat/2。”
时间浪费在试图让它工作,我失去耐心。
下面是CodeIgniter的专业指导:
“为了使这些文件夹访问笨,你还需要建立在你的网站的根文件夹一个小的.htaccess文件下面是什么.htaccess文件看起来像它基本上包含allmvs某些文件和文件夹要在网站上查看说明:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|captcha|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果您熟悉Apache中的mod_rewrite,你会注意到,这条规则显然是从消除的index.php任何目标的URL。下面当你配置CodeIgniter(和partic ularly config.php文件),你会明白为什么这是一个好主意。如果你不熟悉Apache中的mod_rewrite,不要被这个文件吓倒。基本上,.htaccess文件提出了一些规则,其中一个从所有URL中删除index.php。文件中的其他规则允许使用您将需要前进的各种其他文件夹(例如包含CSS,JavaScript,验证码文件和图像的文件夹)。“
我按照指示进行操作......将如果我从根文件夹中删除htaccess文件,它会显示主页。如果我添加htaccess文件,它会给出404错误。我移动了htaccess并且它没有做任何事情。 。-route显然,阿帕奇理解的htaccess否则将不显示404错误
无法正常工作。它也导致主页显示404错误。没有你的指示...仍然没有。 – netrox 2010-08-04 04:02:08
@netrox嗯..有趣。看我的编辑,并希望我们可以从那里工作。 – 2010-08-04 04:13:20
蒂姆,感谢调试提示..我补充说这条线重新路由到stackoverflow,它没有问题重定向。(很好的调试技巧!)明显的apache理解htaccess文件。 – netrox 2010-08-04 04:18:30