2012-04-16 109 views
1
RewriteEngine on 
RewriteRule ^/(.*)/settings.php$ /settings.php?session=$1 
RewriteRule ^/register/(.*)/(.*) /register/$2?session=$1 

我正在将会话放在url中,但它不工作。它试图把会议作为一个文件:Apache mod_rewrite没有处理重写的url?

[周一4月16日17时37分05秒2012] [错误]文件不存在: /家庭/△/的public_html /注册/ D7yuzHOn3gx

这有什么问题?

谢谢你的时间。

+0

它正在寻找'/ register /(.*)/(.*)',但你得到了重写规则,你只是传递'/ register /(.*)',所以它不符合规则。 – drew010 2012-04-16 22:13:22

+0

drew是正确的,你试图重写的第二个参数在哪里? 你也可以通过执行如下操作使其变为可选项: RewriteRule ^/register /(.*)[/(.*)]? – aowie1 2012-04-16 22:23:51

回答

0

更改规则:

RewriteRule ^(.*)/settings\.php$ settings.php?session=$1 [L,NC,QSA] 
RewriteRule ^register/([^/]*)/(.*) register/$2?session=$1 [L,NC,QSA] 

记住重写规则开始第一斜线/后匹配。