2016-05-29 6 views
1

Ich möchte Redirect in meiner Htaccess-Datei erstellen. Von URL mit index.php zu Seite ohne index.php, aber nur für einen bestimmten Ordner "Katalog".htaccess Redirect von index.php nach/nur in bestimmten Ordner

Zum Beispiel:

/catalog/some_folder/index.php-/catalog/some_folder/ oder

von /catalog/some_folder/etc/index.php zu /catalog/some_folder/etc/

URL wie diese /catalog2/some_folder/index.php nicht

umleiten muss ich diese Zeilen hinzufügen versuchen (localhost, da es war xampp):

RewriteCond %{REQUEST_URI} /catalog/+[^\.]+index.php$ 
    RewriteRule ^index\.php$ localhost/$1 [R=301,L] 

Aber das hat nicht funktioniert. Wie kann ich dies zur richtigen Arbeit zwingen?

Antwort

0

können Sie diese Regel in .htaccess root verwenden:

# remove index.php 
RewriteCond %{THE_REQUEST} /index\.php [NC] 
RewriteRule ^(catalog/.+)index\.php$ /$1 [L,R=302,NC,NE] 
+0

etwas muss in meiner Konfiguration falsch sein es sendet mir eine Ebene (ich bin in localhost/myproject/index.php) und (es sendet mich an localhost /) – DragonFire

+0

Um es in '/ myproject' nur zu arbeiten ändere den Ziel-URI in der letzten Regel als '/ myproject/$ 1' – anubhava

0

entfernen index.php:

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

Denken Sie daran, müssen Sie mod_rewrite aktivieren.

0
RewriteEngine On 
RewriteCond %{THE_REQUEST} (?:/[^/]*)*/index\.php[?#\ ] 
RewriteRule .* %{REQUEST_URI}/../ [L,R=301] 

Für mich diese die Lösung oben arbeitet, ist mir eine Ebene nach oben in einen Ordner zu senden.