Pergunta

I'm currently hosting a site on a service that has mod_rewrite on by default. I edited the .htaccess with

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html

but it only allow the site to be accessed with "site.com/pagename." I want it to rewrite the url to say "site.com/pagename" rather than "site.com/pagename.html."

I've tried a million different flavors of this code and it won't rewrite the url to exclude .html. The HTML code has the pages linking to each other as

<a href="index.html">Text</a>

If that makes a difference.

Thanks in advance for any help.

Foi útil?

Solução

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+html?\ HTTP
RewriteRule (.+)\.html?$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top