Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码点火器htaccess模块重写工作不正常_Php_.htaccess_Codeigniter_Mod Rewrite - Fatal编程技术网

Php 代码点火器htaccess模块重写工作不正常

Php 代码点火器htaccess模块重写工作不正常,php,.htaccess,codeigniter,mod-rewrite,Php,.htaccess,Codeigniter,Mod Rewrite,我正在尝试将url转换为 http://127.0.0.1/dev/blog/welcome 但当我输入时,它会将url更改为http://127.0.0.1/dev/blog/index.php/welcome 但当我这么做的时候http://127.0.01/dev/blog//welcome 出于某种原因,它一直是这样 我的.htaccess是 RewriteEngine On RewriteBase /dev/blog RewriteCond %{REQUEST_FILENAME} !-

我正在尝试将url转换为 http://127.0.0.1/dev/blog/welcome 但当我输入时,它会将url更改为http://127.0.0.1/dev/blog/index.php/welcome

但当我这么做的时候http://127.0.01/dev/blog//welcome 出于某种原因,它一直是这样

我的.htaccess是

RewriteEngine On
RewriteBase /dev/blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php?/$1 [L]
配置了我的config.php

$config['base_url'] = 'http://127.0.0.1/dev/blog/';
$config['index_page'] = '';
哦,我确实检查了mod_rewrite是否开启,我正在使用WAMP

另一个信息:我正在使用Firefox,但当我使用IE9时,它不会更改url http://127.0.0.1/dev/blog/welcome 到http://127.0.0.1/dev/blog/index.php/welcome

对于重写规则,添加NC和QSA标志。QSA确保追加查询字符串。除非您计划使用CodeIgniter来管理css文件、图像和robots.txt,否则也不要使用倒数第二行

试试这个:

RewriteEngine On
RewriteBase /dev/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]
另外,在config.php中检查uri_协议。WAMP没有正确检测到它,我遇到了一些问题,最幸运的是将它设置为PATH_INFO而不是AUTO。

对于您的重写规则,请添加NC和QSA标志。QSA确保追加查询字符串。除非您计划使用CodeIgniter来管理css文件、图像和robots.txt,否则也不要使用倒数第二行

试试这个:

RewriteEngine On
RewriteBase /dev/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]

另外,在config.php中检查uri_协议。WAMP没有正确检测到它,我遇到了一些问题,最幸运的是将它设置为PATH_INFO而不是AUTO。

确保您在webroot目录而不是应用程序目录上编辑文件。我一直在努力让它正常工作,直到我最终发现这是我的问题

确保您在webroot目录而不是应用程序目录上编辑文件。我一直在努力让它正常工作,直到我最终发现这是我的问题。

您在apache配置中是否已设置为ON?

您在apache配置中是否已设置为ON?

愚蠢的问题,但您是否已尝试刷新浏览器缓存?@Zenbait是的,我执行了ctrl+f5,shift+ctrl+r,清除我的缓存。愚蠢的问题,但你是否尝试刷新浏览器缓存?@Zenbait是的,我执行了ctrl+f5、shift+ctrl+r,清除我的缓存。页面似乎显示没有指定输入文件。当我这样做的时候http://127.0.0.1/dev/blog/welcomeThe 页面似乎表示未指定输入文件。当我这样做的时候http://127.0.0.1/dev/blog/welcome