使用url重写处理url中的空白值

时间:2012-02-01 06:14:54

标签: .htaccess mod-rewrite url-rewriting

我正在为我的购物车网站重写网址,这些我想重写登录页面的网址。但是当用户来自购物车页面时,几乎没有参数附加到网址上,因此我们可以根据这一点将用户重定向到购物车。如果该用户直接从登录超链接登录页面,则有一种情况。所以在这种情况下,附加值为空。

我写了下面给出的网址重写规则。

RewriteRule ^login/(.*)/(.*)/(.*)/(.*[^/])$ /index.php?file=login&ichangeid=$1&to=$2&from=$3&msg=$4

当所有四个参数都传递给url但是当to和from参数为null时,它工作正常,意味着用户直接进入登录页面然后将url的第一个参数传递给$ 1并且传递rest // some_message 2美元,3美元和4美元没有存储。

那我怎么能实现这个目标呢?

1 个答案:

答案 0 :(得分:0)

不确定问题是什么。但您可以使用以下命令使参数可选:

RewriteRule ^login(?:/(.*))(?:/(.*))(?:/(.*))(?:/(.*[^/]))$ /index.php?file=login&ichangeid=$1&to=$2&from=$3&msg=$4