【问题标题】:how to rewrite SEO-friendly url markep in htaccess如何在 htaccess 中重写 SEO 友好的 url markep
【发布时间】:2017-03-24 07:11:02
【问题描述】:

我正在尝试将我的 URL 转换为 SEO 友好的 URL。我对htaccess重写规则了解不多,网址是:

https://www.zesteve.com/search.php?loc=Guntur&q=manjunath-cake-shop

网址应该是

https://www.zesteve.com/Guntur/manjunath-cake-shop

我试过这个:

RewriteEngine On  
RewriteCond $1 ^search 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ search.php?q=$1 [L,QSA]

我得到的结果是

https://www.zesteve.com/search?loc=Guntur&q=manjunath-cake-shop

编辑

我正在使用 jquery 来重定向

 window.location.href = 'search?loc=' + location[0] + '&q='+ search_term;

【问题讨论】:

  • 尝试回答插入的否决投票。如果你知道答案。

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

如果任何机构都在寻找相同的解决方案。这是我的答案

首先它应该重定向并转换为 SEO 友好的 URL

# Redirect to SEO Friendly Url
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(?:search\.php)?\?loc=([^\s]+)&q=([^\s]+)? [NC]
RewriteRule ^ /%1/%2? [R=301]

现在设置网址

RewriteCond $1 ^ 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ search.php?loc=$1&q=$2 [L,QSA]

它解决了我的问题。

https://www.zesteve.com/search.php?loc=Guntur&q=manjunath-cake-shop

以上网址现在

https://www.zesteve.com/Guntur/manjunath-cake-shop

我不想在 URL 中显示 search.php 页面

【讨论】:

    【解决方案2】:
    RewriteRule ^([^/]*)/([^/]*)$ /search.php?loc=$1&q=$2 [L]
    

    【讨论】:

    • 除了将此代码添加到 htaccess 文件之外,我是否需要修改任何内容
    • 用它替换你提到的 RewriteRule 的结果如何?
    • 不改变其显示相同的网址。请检查网址zesteve.com/search.php?loc=Guntur&q=manjunath-cake-shop
    • 非常感谢您的回答。它的工作。除了你回答我添加redirect.RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(?:search\.php)?\?loc=([^\s]+)&q=([ ^\s]+)? [NC] 重写规则 ^ /%1/%2? [R=301]。现在它的工作格栅。但图像不工作
    • @Alaric 很高兴您提供了解决方案,干得好。但是,在您的答案中添加评论/描述会使遇到相同问题的人更有可能了解您在做什么以及为什么要这样做以从中学习,并且更有可能获得支持一个很好的记录答案。一般来说,这不仅仅适用于这个特定的答案。检查此线程以获得一些好的指导:meta.stackoverflow.com/questions/300837/…
    【解决方案3】:

    在您的 .htaccess 文件中使用它:

    RewriteEngine On
    RewriteRule ^([^/]*)/([^/]*)$ /search.php?loc=$1&q=$2 [L]
    

    它会给您留下 URL:https://www.zesteve.com/Guntur/manjunath-cake-shop。请确保在测试之前清除缓存。

    【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2018-09-10
    • 2019-06-07
    • 1970-01-01
    • 2015-03-25
    相关资源
    最近更新 更多