2017-11-03 7 views
0

Ich habe einige htaccess Regeln, die freundliche URLs umschreiben. Alles funktioniert unabhängig von einer Sache..htaccess Unterordner neu schreiben, um zu entfernen/indexieren

RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC] 
RewriteRule^%1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*?)/?$ $1.html [NC,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ./[L,R=301] 

Dies ist eine Website mit Sprache Unterordner, zB:

/fr/about.html

/en/about.html

Mit der obigen .htaccess Regeln diese Urls kommen wie:

/fr/about

/en/about

Allerdings bedeutet dies aussehen wie auch URLs meine Indexseiten:

/fr/index

/en/index

Was ich möchte, für/Index sieht die URL wie

/fr

/en

Das würde bedeuten, dass sie den nachfolgenden Schrägstrich-Teil von meinem obigen htaccess respektieren, aber index von der URL entfernen.

Jede Hilfe sehr geschätzt!

Antwort

0

Try (vor RewriteCond %{THE_REQUEST} ^ ...) hinzuzufügen:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*?)/index(\.html)?[\s?] [NC] 
RewriteRule^%1 [R=301,L] 
Verwandte Themen