我已将网站托管为"http://www.sitename.com/projectfoldername/"
等子文件夹。
这里只显示主页,当点击任何菜单时显示404错误,所以我通过在控制器名称之前编写index.php来改变url,现在url已经从这里改变了:
"http://www.sitename.com/projectfoldername/controller-name/function-name"
对此:"http://www.sitename.com/projectfoldername/index.php/controller-name/function-name"
然后显示页面但仅在本地工作..
我的htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
的config.php
$config['base_url'] = 'http://www.sitename.com/projectfoldername/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
答案 0 :(得分:1)
如果您使用的是Apache Web Server,请激活您的mod_rewrite
在Ubuntu上:
sudo a2enmod rewrite
在窗口:
打开httpd.conf并找到行
#LoadModule rewrite_module modules/mod_rewrite.so and remove the hash ‘#’
答案 1 :(得分:0)
在RewriteBase /projectfoldername
文件中使用.htaccess
,如下所示:
RewriteEngine On
RewriteBase /projectfoldername
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
答案 2 :(得分:0)
尝试在.htaccess中添加以下内容,它可能对您有帮助。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
答案 3 :(得分:0)
@antroo ghosh,首先你必须知道哪个Web服务器正在使用(Apache或IIS)。
如果您使用的是Windows(IIS)服务器,则无法使用.htaccess,在IIS中,您必须使用web.config而不是.htaccess。
我希望这可以帮助你!