我刚刚将CI文件从服务器复制到我的localhost,我在运行该网站时遇到了问题。
每当我点击WAMP中的站点链接时 http://localhost/CmpOnline/
它显示了与localhost
相同的文件夹列表这是我的htaccess文件
RewriteEngine on
RewriteCond $1 !^(index\.php|images|javascript|stylesheets|uploads|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
并在配置文件中
$config['base_url'] = "http://localhost/CmpOnline/";
$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI";
我将此更改为所有其他可用选项但仍然无法正常工作
我试过这个 .htaccess and codeigniter not working 还有这个 Remove index.php From URL - Codeigniter 2
但它仍然无效。
任何帮助?
答案 0 :(得分:1)
您应该有RewriteBase
:
RewriteEngine on
RewriteBase /CmpOnline
RewriteCond $1 !^(index\.php|images|javascript|stylesheets|uploads|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
因为RewriteRule
正在将所有内容发送到RewriteBase
的根目录,默认为/
(CodeIgniter仍然需要base_url
设置,因为它的内部内容)。
答案 1 :(得分:1)
如果
$config['uri_protocol'] = "REQUEST_URI";
将其更改为
$config['uri_protocol'] = 'PATH_INFO';
如果使用此
$config['uri_protocol'] = 'ORIG_PATH_INFO';
使用重定向或标题位置到url不在htaccess中将无法正常工作你必须在htaccess中添加url才能工作
答案 2 :(得分:0)
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]