所以我的所有codeigniter东西都有404错误,而它在本地工作得非常好但是当在1and1共享主机上公共制作上传时,没有任何效果。我收到404错误。
我的设置如下:
www.myname.com/subfolder1/
< =这里是我的codeigniter root,是的,我希望codeigniter在普通" root"之后是一个级别。 / level
我在这个子文件夹1中有.htaccess:
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\\.php|resources|robots\\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ index.php?/$1 [L,QSA]
如果我尝试常规的codeigniter" url":
http://www.myname.com/subfolder1/index.php/admin/login
我注意到:
http://www.myname.com/admin/user/login
可能是我在最后一条规则上有问题,我试过了:
RewriteRule ^/subfolder1/(.*)$ index.php?/$1 [L,QSA]
没有成功。
我的config/config.php
有这个:
$config['base_url'] = 'http://www.myname.com/';
我试图把http://www.myname.com/subfolder1
放在那里但没有成功。
因为这个网站还在测试中,因为我对这一切都不熟悉...我决定从.htaccess中输入一个登录名/密码,所以我在根{{1}中也有这个第一级.htaccess } 这可能是个问题吗?我怎么能有这个第一级.htaccess和一个工作.htaccess for codeigniter?如果有,有人可以解释我怎么做?
http://www.myname.com/
谢谢你的帮助
答案 0 :(得分:0)
RewriteRule ^/(.*)$ subfolder1/index.php?/$1 [L,QSA]
是的,我需要将base_url
更改为:
$config['base_url'] = 'http://www.myname.com/subfolder1/';
因为没有,没有路径(js / style)没问题。
答案 1 :(得分:0)
您还使用此代码
解决了问题<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /subfolder1/
RewriteRule ^([a-z0-9_-]+)\.html$ index.php/page/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|asset|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
你的base_url将是
$config['base_url'] = 'http://www.myname.com/subfolder1/';
从config.php文件中删除索引页面 它会像这样
$config['index_page'] = '';