【问题标题】:URL Rewrite - Query StringURL 重写 - 查询字符串
【发布时间】:2011-08-02 04:34:39
【问题描述】:

I have a news (blog) site that returns urls in the following format when individual posts are selected:

website.net/sitenews.php?q=posts/view/postname/12

我正在寻求重写 url,使其显示为:

website.net/sitenews.php/posts/view/postname/12

或删除?q= 以删除? 的任何其他方式,以便facebook 的like 按钮可以访问该url,因为facebook url linter 不解析查询字符串。

在根目录的 htdocs .htaccess 文件中,我尝试了以下操作:

Options +FollowSymLinks 

RewriteEngine on

RewriteCond %{QUERY_STRING} q=  

RewriteRule (.*) website.net/sitenews.php/$1? [R=301]

这成功删除了q=?,但不返回字符串的其余部分 (posts/view/postname/12),网址现在如下所示:

 website.net/sitenews.php/sitenews.php

有人有什么建议可以帮助我完成这个 url_rewrite 吗?

【问题讨论】:

    标签: .htaccess mod-rewrite query-string


    【解决方案1】:

    在你的 .htaccess 中试试这个:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC]
    RewriteRule ^(.*)$ /$1/%1? [R=301,L,NE]
    
    R=301 will redirect with https status 301
    L will make last rule
    NE is for no escaping query string
    
    %1 is capture group for query string q= (whatever comes after q=)
    $1 is your REQUEST_URI
    

    【讨论】:

    • anubhava,上面的代码生成website.net/sitenews.php/posts/view/postname/12/posts/view/postname/12/posts/view/postname/12
    • @Hamy:对不起,我在上面的规则中有一个小错字,导致无限重定向。请参阅上面我编辑的答案。我已经对其进行了测试,它应该可以正常工作。
    • 感谢您的回答,但我怎样才能摆脱生成的链接 website.net/sitenews.php/posts/view/posts 之间的 .php
    • @Rajat:请在此处查看我的答案:stackoverflow.com/questions/6062537/… 如果这不符合您的要求,请在 SO 上创建一个新问题并将问题链接发送给我这里的 cmets。
    【解决方案2】:

    如果您使用任何 CMS,例如 wordpress、joomla 或 SE,那么您可以选择这样做,否则您需要有一个可以编写代码的 .htaccess 文件,请参阅此链接

    http://roshanbh.com.np/2008/03/url-rewriting-examples-htaccess.html

    http://www.webmasterworld.com/forum92/2545.htm

    http://www.google.com/#sclient=psy&hl=en&q=htaccess+change+the+url&aq=0p&aqi=p-p1g4&aql=&oq=htaccess+&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=c875dd2b8adea15a

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 1970-01-01
      • 2014-08-07
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      相关资源
      最近更新 更多