【问题标题】:How rewrite htacess properly on these case?如何在这些情况下正确重写 htaccess?
【发布时间】:2018-10-08 14:40:29
【问题描述】:

我是 htaccess 的新手,我在这些情况下遇到了一些麻烦

  1. 我只需要对这个特定的 URL 进行 301 重定向:

example.com/jobs 到 example.com/browse-jobs

如果 url 是 example.com/jobs/job1,它将不会重定向。

  1. 将所有具有路径 /product 的 URL 重定向到 /package。例如:example.com/product 和 example.com/product/1,所有这些 URL 都会重定向到 example.com/package。

  2. 重写网址:

    example.com/browse-jobs/?job_type=internship 重写为 example.com/browse-jobs/intership。

如果 URL example.com/browse-jobs/?posted=14days&job_type=internship 不重写并保持不变。

我整天都在与这些案例作斗争,我查看了所有参考网站,但仍然不知道如何解决。如果有人知道这件事,请帮助我。谢谢。

【问题讨论】:

    标签: .htaccess url-rewriting


    【解决方案1】:

    如果您一直在尝试,我建议您清除缓存,也许重新启动 apache:

    RewriteBase /
    # product, products, product/abc, product/a/b/c to package
    # If you don't want products to redirect, add $ after the ?
    RewriteRule ^product(/.*)? package [R=301]
    
    # Exactly jobs with or without / to browse-jobs
    RewriteRule ^jobs/?$ browse-jobs [R=301]
    
    # If query string only contains parameter job_type with value internship    
    RewriteCond %{QUERY_STRING} ^job_type=(internship)$
    # With or without slash    
    RewriteRule ^(browse-jobs)/?$ $1/%1 [QSD,R=301]
    # QSD = Discard the query string
    

    【讨论】:

    • 我不知道为什么,但是当我尝试时,我需要把它放在 中吗?
    • @DanielStark 这样更安全,但如果您确定启用了mod_rewrite,则没有必要。
    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 2012-06-06
    • 2022-01-11
    相关资源
    最近更新 更多