我想从网址替换一个单词。我已经尝试了许多代码,但。不工作
例如,我有一个URL:https://www.example.com/blog/single/how-to-start-single-app
要重定向到URL -https://www.example.com/blog/post/how-to-start-single-app
尝试使用以下规则
RewriteRule ^(.*)single(.*)$ $1post$2 [R=301,L]
但是它将url中的所有单词替换为post。
我想从网址替换一个单词。我已经尝试了许多代码,但。不工作
例如,我有一个URL:https://www.example.com/blog/single/how-to-start-single-app
要重定向到URL -https://www.example.com/blog/post/how-to-start-single-app
尝试使用以下规则
RewriteRule ^(.*)single(.*)$ $1post$2 [R=301,L]
但是它将url中的所有单词替换为post。
2条答案
按热度按时间2ekbmq321#
您可以使用REGEX执行此操作:
就你而言
在这里,
(.*)是一个通配符,它匹配/old-slug/之后出现的任何内容,并将其保存以在目标URL中使用,$1输出源URL表达式中的第一个通配符。
wfveoks02#
你的规则确实有道理,但你必须更精确。
遵循基于在顶层实施的规则中的绝对路径的策略:
或者在“blog”文件夹中以相对方式执行相同操作:
这两种方法中的重要一点是通过使用
^
特殊字符将模式锚到主题的开头。我个人更喜欢第一种策略。如果可能的话,你甚至应该在实际的http服务器的主机配置中实现这样的规则,如果你有访问权限的话。而不是使用多个 * 分布式 * 配置文件。