Htaccess从‘/%postname%.html’重定向到‘/%postname%’

时间:2012-10-20 作者:user10718

我有一个Drupal 5。基于x的旅游评论网站,我将转到Wordpress 3。x(相同的域名)。

Drupal站点的结构如下:

  • www.example.com/travel-guides (这些是顶级页面)-这些只是少数
  • www.example.com/<filename>.html (filename是一个地方/景点等的名称)。-弥补了网站内容的大部分

    www.example.com/postname
    
    如何设置规则。htaccess批量重定向所有页面?有600多个页面,我不想手动为所有页面设置重定向规则。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

在WordPress重写规则上方添加:

RedirectMatch permanent ^/([^/]+)\\.html$ /$1
那会抓住的example.com/foo.html 但不是example.com/travel-guides/foo.html. 捕获以结尾的所有URL.html 移除第一个^ 从模式中。

重定向以结尾的所有URL.html 除了那些travel-guides 您需要mod\\u重写:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/travel-guides/
RewriteRule ([^/]+)\\.html$  /$1 [L,R=301]

结束

相关推荐

请检查此“.htaccess”文件

我刚找到我的。“htaccess”文件的代码行重复了两次,可能是某些插件更改了它,是否不正确?我应该删除重复的一个吗?谢谢<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Rewr