我已在codeigniter
系统中创建了Ubuntu
项目,并在base_url
之后添加了以下内容。
http://192.168.1.123/project/
如果我访问任何其他网址,如下所示。
http://192.168.1.123/project/course/view/1
重定向到“找不到页面”。如果我在index.php
之后加入base_url
,则其工作正常。
我创建了.htaccess
文件如下。
RewriteEngine On
RewriteBase /project
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
在config.php
档案
$config['index_page'] = 'index.php';
更改为
$config['index_page'] = '';
但它仍然不起作用。请建议灵魂。我们将不胜感激。
答案 0 :(得分:4)
更改.htaccess文件并尝试
RewriteEngine On
RewriteBase /project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
答案 1 :(得分:2)
第1步:
在htaccess文件中添加
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
第2步:
删除codeigniter config中的index.php
$config['base_url'] = '';
$config['index_page'] = '';
第3步:
允许覆盖Apache配置(命令)中的htaccess
sudo nano /etc/apache2/apache2.conf
并编辑文件&amp;改为
AllowOverride All
用于www文件夹
第4步:
启用apache mod rewrite(命令)
sudo a2enmod rewrite
第5步:
重启Apache(命令)
sudo /etc/init.d/apache2 restart
答案 2 :(得分:0)
试试这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /project/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /project/index.php [L]
</IfModule>
而且,在config.php
:
$config['index_page'] = 'index.php';
请确保mod_rewrite
模块已启用
答案 3 :(得分:0)
首先将.htaccess文件放在应用程序文件夹之外。
然后将以下代码放入.htaccess文件
RewriteEngine On
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule ^(。*)$ index.php / $ 1 [L]
现在你可以在不使用index.php的情况下刷新你的网址,它肯定可以正常工作
答案 4 :(得分:0)
对于使用Linux的用户,这是要遵循的步骤
在项目的根文件夹中打开.htaccess文件。该文件夹与 application 文件夹位于同一文件夹。
将.htaccess的内容编辑为
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
打开配置文件并更改
$config['index_page'] = 'index.php';
到
$config['index_page'] = '';
导航到 etc / apache2 并打开一个名为 apache2.conf
的文件夹将 AllowOverride 从无编辑为全部,如下所示
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
到
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
打开终端并运行此命令
sudo a2enmod rewrite
要激活新配置,请使用此命令重新启动apache
systemctl restart apache2
您现在已经成功从网址中删除了index.php