2017-03-01 2 views
0

Ich habe dies zur Zeit in meinem Wordpress .htaccess-Datei:Wie alle .html URLS außer Ziel index.html in .htaccess

<IfModule mod_rewrite.c> 
 
     RewriteEngine On 
 
     RewriteBase/
 
     RewriteRule ^index\.html?$/[NC,R,L] 
 
     RewriteEngine On 
 
     RewriteBase/
 
     RewriteRule ^index\.php$ - [L] 
 
     RewriteCond %{REQUEST_FILENAME} !-f 
 
     RewriteCond %{REQUEST_FILENAME} !-d 
 
     RewriteRule . /index.php [L] 
 
    </IfModule> 
 

 
    #RedirectMatch 301 (.*)\.html$ $1/

Ich versuche, alle zu umleiten .html, nur die URL ohne Dateierweiterung, zB www.example.com/about.html zu www.example.com/about/.

Der Code funktioniert gut, wo die /index.html zu/

leitet den kommentierten Code oben (RedirectMatch 301 (.*)\.html$ $1/) sollte für Umleitung .html zu dem hübschen URLS arbeiten, aber es ist auch für den index.html tun, wo statt Umleiten es zu/es leitet es um/index

Gibt es eine Möglichkeit für meinen Code zu verdichten und tun, was ich versuche zu tun?

Antwort

0

haben es wie folgt aus:

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.html?$/[NC,R,L] 

# redirect every .html except index.html 
RewriteRule ^(?!index\.html$)(.+)\.html?$ /$1 [NC,R,L] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
Verwandte Themen