0

How can i redirect all posts permalinks from .html to / ,in Wordpress ? now all my posts url are ending in / ,but before it was with .html

to be more clear ,for example a post url like this http://sitename.com/%category%/%postname%.html to be redirected to http://sitename.com/%year%/%monthnum%/%postname%/ . It's simple to redirect them one by one,but i need a rule to redirect all posts .

my curent .htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

======

Thank you

2 Answers 2

4

it's curious that redirect_canonical doesn't work in this case, but this will redirect everything with .html via .htaccess:

RewriteRule (.+)\.html?$ http://example.com/$1/ [R=301,L]

but keep in mind this will redirect everything with .html, you may need to explicitly exclude things.

1
  • you didn't check it as a valid answer ;) Commented Nov 23, 2011 at 11:21
0

That's strange. I thought WordPress did that automatically. Here's the default one that WordPress generated for me:

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

Try that on for size. Note how this one includes <IfModule mod_rewrite.c> and </IfModule>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.