我正在为我的购物车网站重写网址,这些我想重写登录页面的网址。但是当用户来自购物车页面时,几乎没有参数附加到网址上,因此我们可以根据这一点将用户重定向到购物车。如果该用户直接从登录超链接登录页面,则有一种情况。所以在这种情况下,附加值为空。
我写了下面给出的网址重写规则。
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美元没有存储。
那我怎么能实现这个目标呢?
答案 0 :(得分:0)
不确定问题是什么。但您可以使用以下命令使参数可选:
RewriteRule ^login(?:/(.*))(?:/(.*))(?:/(.*))(?:/(.*[^/]))$ /index.php?file=login&ichangeid=$1&to=$2&from=$3&msg=$4