Apache Rewrite 规则 - 删除 URL 中的“/”

Apache Rewrite 规则 - 删除 URL 中的“/”

我需要一个 apache 的重写规则来重写如下 URL:

http://saftsack.fs.uni-bayreuth.de/~dun3/archives/it/programming/fast-dynamic-property-access-using-reflection-emit/33.html

http://saftsack.fs.uni-bayreuth.de/~dun3/archives/fast-dynamic-property-access-using-reflection-emit/33.html

因此,我需要删除“档案”和最后一个 / 之间的所有 / 部分,保留 / 之前和 / 之后的部分。

答案1

像这样的事情应该可以做你想做的事:

RewriteRule ^(/~dun3/archives/).+?/([^/]+/[^/]+)$ $1$2 [L,R=301]

(最后的 R=301 部分发送一个 HTTP301 Moved Permanently标头,我假设这是您想要做的,但如果不是,您可以简单地省略该部分。)

答案2

RewriteRule ^(.*?)/(.*?)/.*/(.*?)/(.*?)$ $1/$2/$3/$4

相关内容