2012-07-04 2 views
5

В настоящее время обе эти ссылки показывают ту же страницу:Как перенаправить расширение html с помощью htaccess?

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

То, что я хочу сделать, это перенаправить все ссылки HTML-типа к не-HTML ссылки.

Я знаю, что это может показаться простым в использовании с htaccess, но это не работает для меня.

Вот мой Htaccess код до сих пор:

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

возможно дубликат [Удаление дубликатов (HTML расширение против не-HTML)] (http://stackoverflow.com/questions/11301039/removing -duplicate-copy-html-extension-vs-non-html) –

ответ

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

Работал отлично. Спасибо, Гербен. – Jeremy

Смежные вопросы