.htaccess重写下划线到超量,剥离扩展,&删除尾随下划线

时间:2013-09-01 23:53:59

标签: php wordpress apache .htaccess mod-rewrite

我正在将我的博客从可移动类型转换为wordpress。有几千个条目,谢天谢地,我能够(几乎)保持相同的永久链接。

我知道,通过一些聪明的.htaccess魔法,我应该可以重定向我的网址,但我不能为我的生活找出应该是什么声明。我有超过20,000条目,因此单个页面上的重定向并不理想。

这就是我需要做的事情:

我有一堆像这样的网址:

http://example.com/posttype/2013/05/04/story_name_and_such_.php

我需要:

if(extension is .php) {
  1. Convert underscores to hypens in the filename.
  2. Remove the file extension.
  3. Remove trailing hypens.
}

以上结果将如此:

http://example.com/posttype/2013/05/04/story-name-and-such

有人做过类似的事吗?我真的可以使用这个帮助了!

1 个答案:

答案 0 :(得分:1)

如下所示,在文档根目录中的htaccess文件中:

RewriteEngine On

RewriteRule ^(.+)_(.+)\.php /$1-$2.php [L,R=301]
RewriteRule ^(.+)_\.php /$1.php [L,R=301]
RewriteRule ^(.+)\.php /$1 [L,R=301]