2016-06-01 9 views
0

Ich bin neu in CI3 und ich habe wirklich frustriert verbringen mehr als eine Woche in der CodeIgniter3 HMVC WireDesignz Routing arbeiten mit. Htaccess und immer noch es nicht richtig funktioniert.CodeIgniter3 HMVC Routing mit .htaccess funktioniert nicht

Da es mehrere Quellen, die den Fehler verursachen kann, schreibe ich Ihnen den Link von meinem GitHub-Repository https://github.com/ibudisteanu/PHP-TESTS

Das Verhalten ist super einfach: Ich kann unter der folgenden Adresse ohne Fehler

ich Renditen für die folgenden Links in meinem Routing:

Der Fehler, den ich bekommen ist nicht gefunden Die angeforderte URL/login auf diesem Server nicht gefunden wurde .

+0

Haben Sie Grundregel [vorgeschlagen auf CI] (https://codeigniter.com/userguide3/general/urls.html#removing-the-index-php-file) Seite versucht? – Tpojka

Antwort

1

Das ist alles, was ich in Ihre .htaccess-Datei hat und seine adaequat in meinem Test-Server

Options +FollowSymLinks -Indexes 
RewriteEngine on 

# NOTICE: If you get a 404 play with combinations of the following commented out lines 
#AllowOverride All 
#RewriteBase /wherever/ci/is 

# RewriteBase/

# Restrict your site to only one domain 
# Important USE ONLY ONE OF THESE OPTIONS BELOW! 

# Option 1: To rewrite "www.domain.com -> domain.com" uncomment the following lines. 
#RewriteCond %{HTTPS} !=on 
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

# Option 2: To rewrite "domain.com -> www.domain.com" uncomment the following lines. 
#RewriteCond %{HTTPS} !=on 
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
#RewriteCond %{HTTP_HOST} (.+)$ [NC] 
#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] 

# Option 3: Remove index.php from URL 
#RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$ 
#RewriteCond %{THE_REQUEST}    ^[^/]*/index\.php [NC] 
#RewriteRule ^index\.php(.*)$   $1 [R=301,NS,L] 

# Send request via index.php (again, not if its a real file or folder) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

#RewriteCond $1 !^(index\.php|public_html|\.txt|robots\.txt|favicon\.ico|style\.css) 

# deal with php5-cgi first 
<IfModule mod_fcgid.c> 
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 
</IfModule> 

<IfModule !mod_fcgid.c> 

    # for normal Apache installations 
    <IfModule mod_php5.c> 
     RewriteRule ^(.*)$ index.php/$1 [QSA,L] 
    </IfModule> 

    # for Apache FCGI installations 
    <IfModule !mod_php5.c> 
     RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 
    </IfModule> 

</IfModule> 

bemerkte ich nur RewriteBase /

Ich verstehe nicht, was RewriteBase so macht Ich könnte mich in meiner Antwort irren.

Dies ist der .htaccess, den ich mit HMVC verwende und ich habe keine Probleme.

RewriteEngine on 
Options -Indexes 

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