2012-07-04 21 views
5

Por el momento, estos dos enlaces muestran la misma página:Cómo redirigir la extensión html usando htaccess?

http://www.example.com/podcast/episode.html
http://www.example.com/podcast/episode

Lo que quiero hacer es redirigir todos los enlaces de tipo HTML de los enlaces que no son HTML.

Sé que esto puede parecer simple de hacer con htaccess, pero no funciona para mí.

Aquí está mi código .htaccess hasta ahora:

RewriteEngine On 
    RewriteBase/

    #removing trailing slash 

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

    #non www to www 

    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

    #shtml 

    AddType text/html .html 
    AddHandler server-parsed .html 

    #html 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^([^\.]+)$ $1.html [NC,L] 

    #index redirect 

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ 
    RewriteRule ^index\.html$ http://example.com/ [R=301,L] 
+0

posible duplicado de [Extracción de copias duplicadas (extensión html vs no-html)] (http://stackoverflow.com/questions/11301039/removing -duplicate-copies-html-extension-vs-non-html) –

Respuesta

9
RewriteCond %{THE_REQUEST} \.html 
RewriteRule ^(.*)\.html$ /$1 [R=301,L] 
+1

Funcionó perfectamente. Gracias Gerben. – Jeremy

Cuestiones relacionadas