使用htaccess

时间:2018-04-07 05:57:49

标签: php .htaccess codeigniter

我试图通过使用.htaccess文件创建的codeigniter从我的url中删除index.php,但它不起作用。

RewriteEngine on
RewriteBase /
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]

我试过使用这个代码,这些都是mu bse和网站url。我对如何正确使用htaccess知之甚少。任何帮助都是值得的。

$config['base_url'] = 'http://localhost/xxxx/';

$config['site_url'] = 'http://localhost/xxxx/index.php';

4 个答案:

答案 0 :(得分:4)

打开config.php并执行以下替换

自:

$config['index_page'] = "index.php";

要:

$config['index_page'] = "";

$config['uri_protocol'] = "REQUEST_URI";

添加.htaccess文件

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

答案 1 :(得分:2)

希望这会对你有所帮助:

Options +FollowSymlinks -Indexes
RewriteEngine on
DirectoryIndex index.php
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

并设置config.php:

    $config['index_page'] = '';
    $config['base_url'] = 'http://localhost/foldername/';

了解更多:https://www.codeigniter.com/user_guide/general/urls.html

答案 2 :(得分:0)

尝试使用以下代码从url中删除index.php,在根文件夹中创建一个htaccess文件并将下面的代码粘贴到其中。

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

要删除网址中的index.php,您需要更改配置。 在config.php文件中更改以下内容

$config['index_page'] = "index.php";  

$config['index_page'] = "";

这将从url中删除index.php。

答案 3 :(得分:0)

如果它可以帮助这里的任何人,那么这个问题使我发疯,对我来说,解决方法是从项目文件夹中删除大写字母(该文件夹原为localhost / working / CourseIgnite /)。

因此,在多次尝试解决该问题后,我将站点更改为 localhost / working / courseignite /

然后使用每个人都可以使用的解决方案。 Mod改写,在配置中更改基本url和索引,并在htaccess中使用以下内容。

只是希望这会有所帮助,因为它使我疯狂。

RewriteEngine on
RewriteBase /working/courseignite   
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

然后在application / config中

$config['index_page'] = "index.php";  

TO

$config['index_page'] = "";

以及在application / config

$config['base_url'] = "yourlocalhostip/working/courseignite/";