2016-07-16 5 views
1

Ich versuche eine .htaccess-Datei einzurichten. Ich wollte es auf die Route des aktuellen Ordners festlegen, wenn der Benutzer index.php und index.html am Ende der Adresse enthält. Ich wollte, dass das www zur Adresse hinzugefügt wird, wenn der Benutzer es verpasst hat.Bevorzugte Versionen in .htaccess einrichten

Ich betreibe zwei Websites von der gleichen Adresse. Einer verwendet den Stammordner und der andere aus einem Ordner. Das Index Bit funktioniert gut für beide, aber wenn ich das www, wenn sie es vermissen, geht es auf die Homepage auf der Wurzel und nicht den Ordner. Kann mir jemand vorschlagen, was ich hier machen soll und wo ich die .htaccess-Datei ablegen soll, damit es funktioniert?

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^candle-light\.co.uk$ [NC] 
RewriteRule ^(.*)$ http://www.candle-light.co.uk/$1 [R=301,L] 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://www.candle-light.co.uk/ [R=301,L] 
</IfModule> 

Der Unterordner heißt Flackern.

Antwort

1

Versuchen Sie, diese Regeln mit %{REQUEST_URI} Variable statt $1:

RewriteEngine On 

# skip POST requests 
RewriteCond %{REQUEST_METHOD} POST 
RewriteRule^- [L] 

# add www 
RewriteCond %{HTTP_HOST} ^candle-light\.co\.uk$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 

# remove index.php 
RewriteCond %{THE_REQUEST} /index\.(php|html) [NC] 
RewriteRule ^(.*)index\.(?:html|php)$ /$1 [L,R=301,NC,NE] 
+0

, die perfekt funktioniert. Muss ich ein paar zusätzliche Zeilen hinzufügen oder kann ich ändern, was bereits vorhanden ist, um index.html zu entfernen? –

+0

Was ich meinte war, die letzten zwei Zeilen deines Codes entfernen index.php. Kann ich diese Zeilen auch ändern, um index.html zu entfernen, oder muss ich zwei weitere Zeilen hinzufügen, um mit index.html fertig zu werden? –

+1

Das ist es getan. Ich danke dir sehr. Du bist ein echter Star. –