.htaccess并使url友好


.htaccess and making urls friendly

我只想删除一部分url,我认为这是最简单的方法。

这就是我的URL当前的样子:

subdomain.domain.com/site/blog/?action=viewArticle&url=$postTile

我想删除:

?action=viewArticle&url=

所以我最终得到了这样的东西:

subdomain.domain.com/site/blog/$postTitle

我试过下面的,但我没有快乐:

RewriteEngine on
RewriteRule   ^ subdomain.domain.com/site/bwc/(blog)/(.*)/$   /bwc/blog/?action=viewArticle&url=$2

请帮忙——我想我需要使用MOD_REWRITE,但我不太确定如何使用。我还需要一个允许友好URL链接的解决方案。htaccess/apache能做到这一点吗?

RewriteRule  ^site/bwc/blog/(.*?)/$ site/blog/?action=viewArticle&url=$1

但请注意,在这种情况下,您的url将始终必须以/结尾才能正常工作

重写规则所做的基本上是php对URI的str_replace。它将运行您在请求URI上提供的正则表达式,并将其替换为您提供的替换。为了更好地理解,你需要善于使用正则表达式,有人说正则表达式本身就是一种语言。(.*?)是正则表达式中的一个捕获组。捕获组可以作为替换字符串中的$'d访问,其中'd将是模式中捕获组的连续编号。

长话短说,如果你发送了一个与regex模式匹配的请求,它会抓取它,进行替换并将其发送到服务器,而不是你输入的地址。