【问题标题】:how do I redirect a url and remove part of the string如何重定向 url 并删除部分字符串
【发布时间】:2019-01-11 19:02:21
【问题描述】:

我有一个这样的网址:

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

我需要像这样重定向这个网址:

domain.com/newpart/blah-something-blah

更改目录并删除最后一部分(最后一部分始终不变,这次是删除)。

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

【问题讨论】:

  • 你应该展示你尝试过的东西——它可能只需要一个简单的修复。另外,您的.htacess 文件中还有其他指令吗?这些指令的顺序(和类型)很重要。

标签: apache .htaccess http redirect


【解决方案1】:

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

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 pattern 上没有斜杠前缀。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多