如何重定向网址并删除字符串的一部分

时间:2019-01-11 19:02:22

标签: apache .htaccess http redirect

我有这样的网址:

domain.com/thispart/blah-something-blah-remove

我需要这样重定向此网址:

domain.com/newpart/blah-something-blah

更改目录并删除最后一部分(最后一部分始终是常量,这一次将其删除)。

我该怎么做?我设法重定向了目录,但是最后一个参数我不知道如何删除。

1 个答案:

答案 0 :(得分:1)

如果您没有任何现有的mod_rewrite指令,则可以使用RedirectMatch文件顶部附近的mod_alias .htaccess指令执行以下操作:

RedirectMatch ^/thispart/([\w-]+)-remove$ /newpart/$1

请注意,这将删除示例中的“ -remove”,而不仅仅是字符串“ remove”。

假定“ -remove”部分之前的路径段由字符0-9a-zA-Z_-组成。

这是临时(302)重定向。

在测试之前,您需要清除浏览器缓存。


但是,如果您有现有的mod_rewrite指令,则应改用mod_rewrite以避免潜在的冲突(并提高效率)。例如:

RewriteRule ^thispart/([\w-]+)-remove$ /newpart/$1 [R=302,L]

(请注意,RewriteRule 模式上没有斜杠前缀。)