htaccess更改子文件夹后的破折号

时间:2014-05-18 21:20:13

标签: regex apache .htaccess mod-rewrite rewrite

如果有人可以提供帮助,我有一个棘手的问题...

我想这样做,以便任何句号'。'转换为破折号' - '用于某些URL(特定文件夹之后的任何内容:www.mysite.com/folder)。

例如:www.mysite.com/hello.world将保留为www.mysite.com/hello.world 但www.mysite.com/folder/hello.world将成为www.mysite.com/folder/hello-world。

有时可能会有不止一个时期。例如:www.mysite.com/folder/hello.world.2应成为www.mysite.com/folder/hello-world-2

要再增加一层复杂性:我无法访问/文件夹/所以我无法将.htaccess文件放在那里,需要从根.htaccess文件中完成。

我一直在搜索很多,但却找不到如何做到这一点。如果有人可以帮忙解决这个问题我真的很感激!

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

将这两条规则放在根目录中.htaccess:

RewriteRule "^(folder)/([^.]*)\.+([^.]*\..*)$" /$1/$2-$3 [L,NC]
RewriteRule "^(folder)/([^.]*)\.([^.]*)$" /$1/$2-$3 [L,NC,R=302]