【问题标题】:htaccess rewrite URL complex issuehtaccess 重写 URL 复杂问题
【发布时间】:2015-01-14 20:47:08
【问题描述】:
http://my-domain.com/ppc-landing-page.php?Campaign=Boynton-Beach&AdGroup=Security%20System&Keyword=The%20Best%20Home%20Security%20System%20Company

我希望将其重写为

http://my-domain.com/Boynton-Beach/Boynton-Beach.php?Campaign=Boynton-Beach&AdGroup=Security%20System&Keyword=The%20Best%20Home%20Security%20System%20Company

并显示 ppc-landing-page.php 中的内容

思路是获取Campaign查询参数的值,将浏览器中的url重写为

http://my-domain.com/{$_GET['Campaign']}/{$_GET['Campaign']}.php?Campaign=Boynton-Beach&AdGroup=Security%20System&Keyword=The%20Best%20Home%20Security%20System%20Company

完整的查询字符串应该在那里

然后它应该将 ppc-landing-page.php 中的 $_GET 值替换为查询字符串中的值并显示内容。

【问题讨论】:

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


    【解决方案1】:

    在站点文档根目录的 .htaccess 中尝试以下 RewriteRule

    RewriteEngine On
    
    RewriteBase /
    RewriteCond %{QUERY_STRING} campaign=([^&]+) [NC]
    RewriteRule ppc-landing-page.php %1/%1.php [R=302,L]
    

    【讨论】:

    • 很好用...但是我需要显示 ppc-landing-page.php 的内容而不是 %1/%1.php。我该怎么做呢?
    • 什么意思?您希望浏览器中的地址是什么?
    • 我希望地址为 %1%1.php 但内容来自 ppc-landing-page.php
    【解决方案2】:
    RewriteCond %{REQUEST_URI} !^/ppc-landing-page.php
    RewriteCond %{QUERY_STRING} campaign=([^&]+) [NC]
    RewriteRule ^(.*)$ ppc-landing-page.php [L,QSA]
    
    RewriteCond %{REQUEST_URI} ^/ppc-landing-page.php
    RewriteCond %{QUERY_STRING} campaign=([^&]+) [NC]
    RewriteRule ppc-landing-page.php %1/%1.php [R=302,L]
    

    现在我放了这样的东西...首先它起作用了现在它不是???

    【讨论】:

    • @arco444 我把我的 htaccess 放在这里..请告诉我这能解决问题吗?
    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    相关资源
    最近更新 更多