2012-04-16 131 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] 

記住重寫規則開始第一斜線/後匹配。