【问题标题】:Rewrite url in .htaccess [duplicate]重写 .htaccess 中的 url [重复]
【发布时间】:2017-08-27 22:47:10
【问题描述】:

可能重复:
.htaccess url rewrite

如何在 .htaccess 文件中重写 URL

来自

http://example.com/blogs/123/2/blog-title-goes-here

http://example.com/blogs/blog-title-goes-here

?

【问题讨论】:

  • 关于 SO 的类似问题数量惊人。我已经链接到上面的一个。尝试浏览此页面右侧“相关”标题下的大量链接。
  • 是的,我知道我已经首先搜索但没有得到符合我需求的满意答案..这就是我放新答案的原因...

标签: .htaccess mod-rewrite


【解决方案1】:

我认为您不能重写为动态 URL - 但是我可能是错的,请找出原始 URL 也重写的内容,然后编辑您的问题让我们知道,然后我可以提供帮助

【讨论】:

  • 是的,正确的@jake 我想这可能是问题...感谢您的确认...
【解决方案2】:

如果你的意思是你在浏览器中输入http://example.com/blogs/123/2/blog-title-goes-here,那么你会得到这个页面http://example.com/blogs/blog-title-goes-here

RewriteRule ^blogs/[0-9]+/[0-9]+/(.*) /blogs/$1 [R,L] #Or just [L] if you don't want a redirect but a simple rewrite. 

如果您的意思是客户端键入 http://example.com/blogs/blog-title-goes-here 并被重定向到 http://example.com/blogs/123/2/blog-title-goes-here,则无法使用 mod_rewrite 进行此操作,因为它不能仅猜测数字 123 和 2(除非它们是静态数字)

【讨论】:

  • 对不起@M've 它不起作用我想重写 url,我已经通过将 [R,L] 替换为 [L] 进行检查..它不起作用..谢谢您的回复
  • @M've 它的重定向很好,但我想重写..但它的重写不起作用...还有其他想法..??
  • 重写/重定向只是 [R] 标志的问题。重定向是指浏览器栏中的地址发生变化,重写是透明的。
【解决方案3】:

你可以这样做:

RewriteRule ^blogs/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$ /blogs/article/$3 [NC,L]

已编辑:因为我现在可以测试了 :)

【讨论】:

  • 对不起,TNC 这不起作用..谢谢您的回复..
  • 这与他的要求相去甚远! :P
猜你喜欢
  • 2023-03-20
  • 2013-06-23
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 2011-08-30
  • 2011-03-19
  • 2022-01-18
相关资源
最近更新 更多