在查询

时间:2017-05-17 00:44:43

标签: apache .htaccess redirect mod-rewrite

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

基本上,我想通过此URL进行重定向和重写:

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

/folder/val1/val2/

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

这就是我得到的:

Working RewriteRule:

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

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

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

1 个答案:

答案 0 :(得分:1)

您需要外部rewriteRule才能将您的orignal uri重定向到干净版本。将以下规则放在其他RewriteRules

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