【问题标题】:RewriteRule with two parameters on QueryRewriteRule 在 Query 上有两个参数
【发布时间】:2017-10-16 06:14:47
【问题描述】:

我正在重写和重定向我当前网站的 URL 以使其更加用户友好,但我目前在 URL 上的参数有一些问题。

基本上,我想从这个 URL 进行重定向和重写:

/folder/article.php?id=val1&name=val2

/folder/val1/val2/

我一直在使用 RewriteCond 和 RewriteRule 试图找到解决方案,并且我已经设法创建了 RewriteRule,因此我的所有内部链接都可以正常工作,但是当我手动输入第一个 URL 时,它不会重定向到 Clean网址版本。

这是我得到的:

工作重写规则:

RewriteRule ^article/([^/]*)/([^/]*)$ /folder/article.php?id=$1&name=$2 [L]

现在,我的目标是进行重定向,因此当我手动键入带有参数 URL 的 article.php 时,它会重定向到干净的 URL。

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite


    【解决方案1】:

    您需要一个外部 rewriteRule 将您的原始 uri 重定向到干净的版本。将以下规则放在您的其他 RewriteRules 之前

    RewriteEngine on
    RewriteCond %{THE_REQUEST} /folder/article.php\?id=([^&]+)&name=([^\s&]+) [NC]
    RewriteRule ^ /article/%1/%2? [L,R]
    

    【讨论】:

      猜你喜欢
      • 2015-01-06
      • 2023-04-08
      • 2017-10-21
      • 2015-12-15
      • 2022-11-22
      • 2015-12-31
      • 2017-03-22
      • 1970-01-01
      • 2016-12-27
      相关资源
      最近更新 更多