2016-05-24 7 views
2

Ich habe Core-PHP-Anwendung und Codeigniter im Unterordner dieser Anwendung. Ich möchte den CI-Ordnernamen für einen einzelnen Controller ausblenden. wieAusblenden codeigniter Ordnername, wenn Ordner Unterordner einer anderen PHP-Anwendung ist

Die ursprüngliche URL ist http://example.com/ci/welcome/test

und ausgenommen URl ist

http://example.com/welcome/test

was die .htaccess-Basislösung für dieses

ist
+0

mit 'RewriteRule^willkommen/([a-zA-Z0-9 -_ '] +) $ ci/welcome/$ 1 [NC, QSA] 'mit dieser Regel, aber es zeigen Seite von' welcome/index' nicht 'welcom/test' –

Antwort

0

Ich habe Lösung

  1. in .htaccess

RewriteRule ^([a-zA-Z0-9-_']+)/([a-zA-Z0-9-_']+) ci/$1/$2 [L,NC,QSA]

  1. auf index.php letzte Zeile ändern require_once BASEPATH.'core/CodeIgniter.php'; zu require_once APPPATH.'core/CodeIgniter.php';

3 auf APPPATH.'core/CodeIgniter.php 'suche $ RTR und setze diesen Code hinter

if($RTR->class =='mainfoldername'){ 
      $RTR->class =$RTR->method; 
      $RTR->method = $RTR->uri->rsegments[3]; 
      $total_segment = count($RTR->uri->segments); 
      foreach($RTR->uri->segments as $k=>$uri ){ 
       if($k != $total_segment){ 
        $RTR->uri->segments[$k] = $RTR->uri->segments[$k+1]; 
        $RTR->uri->rsegments[$k] = $RTR->uri->rsegments[$k+1]; 
       } 
      } 

     } 
1

Bitte verwenden Sie diesen:

RewriteEngine On 
RewriteRule ^ci/(.*)$ /$1 [L,R=301,QSA] 
+0

seine nicht funktionierende Umleitung auf 404 Seite der Hauptanwendung –

+0

benutzen Sie bitte diese RewriteEngine On RewriteRule^ci /(.*)$/$ 1 [L, R = 301] –

+0

Ich verwende diese Regel 'RewriteRule^welcome/([a-zA-Z0-9 -_ '] +) $ ci/welcome/$ 1 [L , R = 301] 'aber seine Show nur Indexfunktion nicht andere Funktion –

0

diese

RewriteRule Try^(. *) $ Ci/$ 1 [L]