2016-02-23 4 views
0

Я застрял с этой проблемой с утра, если кто-то может мне помочь, это было бы здорово, все в заголовке codeigniter загрузили только мою индексную страницу, даже подумал, что URL меняется и мои функции называются. Я активировал mod_rewrite, и моя переменная конфигурации установлена ​​($ config ['index_page'] = ''; и base_url() также) Если у кого-то есть идея! здесь я покажу вам мой .htaccessurl rewriting htaccess, codeigniter загружает только мою индексную страницу

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

Ваш проект находится в папке? Каков ваш base_url? –

+0

Да, мой проект находится в папке EHA, и вот мой base_url $ config ['base_url'] = 'http: // localhost: 8888/EHA /'; –

+0

Дубликат: http://stackoverflow.com/questions/14783666/codeigniter-htaccess-and-url-rewrite-issues –

ответ

0

Попробуйте это:

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

Надеется, что это помогает.

+0

спасибо за ваш ответ, но он не работает:/ –

0

Open config.php и сделайте следующее заменяет

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

в

$config['index_page'] = "" 

Просто замените

$config['uri_protocol'] ="AUTO" 

в

$config['uri_protocol'] = "REQUEST_URI" 

, а также заменить

$config['base_url'] = 'localhost:8888/EHA/'; 

в

$config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://") . $_SERVER['HTTP_HOST'] . preg_replace('@/[email protected]', '', dirname($_SERVER['SCRIPT_NAME'])) . '/'; 

$config['base_path'] = $_SERVER['DOCUMENT_ROOT'] . preg_replace('@/[email protected]', '', dirname($_SERVER['SCRIPT_NAME'])) . '/'; 

И В файл .htaccess положить следующий код

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

@ Théo Quemar: Надеюсь, что вы поймёте –

+0

Благодарю вас за ваш ответ. Я сделал все, что вам посоветовал, но он все еще не работает, и я не могу назвать какие-либо другие функции, кроме стандартного моего контроллера, я также пробовал каждый uri_protocol, и это не работает либо –

+0

любая другая идея, что это может быть? –

0

Вы можете попробовать это: Если .htaccess файл не добавить. Добавить .htaccess файл.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    #Removes access to the system folder by users. 
    #Additionally this will allow you to create a System.php controller, 
    #previously this would not have been possible. 
    #'system' can be replaced if you have renamed your system folder. 
    RewriteCond %{REQUEST_URI} ^system.* 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 

    #When your application folder isn't in the system folder 
    #This snippet prevents user access to the application folder 
    #Rename 'application' to your applications folder name. 
    RewriteCond %{REQUEST_URI} ^application.* 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 

    #Checks to see if the user is attempting to access a valid file, 
    #such as an image or css document, if this isn't true it sends the 
    #request to index.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule ^(.*)$ index.php?/$1 [L] 
    #RewriteRule ^muser/([0-9]+) muser/index/$1 
</IfModule> 

config.php и сделайте следующее заменяет

$root = "http://".$_SERVER['HTTP_HOST']; 
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']); 
$config['base_url'] = $root;