我已经写了一些mod_rewrites是正常工作在一台服务器上,而不是另一个奇怪mod_rewrite的问题在一台服务器上,但不是另一个
mod_rewrite的工作在一般情况下,例如要http://site/about把我带到服务器上about.php A和服务器B上
但令人奇怪的是在服务器B发生时mod_rewrite的进入另一个层次迈进
例如,在服务器A上,当我访问http://site/submit/bulk它带给我submit_bulk.php,但是当我访问服务器B上的相同位置,它将我带到submit.php。这就像在第二台服务器上选择第一个mod_rewrite匹配(/提交)并且不会继续查找实际匹配(/ submit/bulk)。
同样的问题,在底部,RSS /提交了RSS位发生/尼克正常工作在服务器A,但在服务器B上它显然只是要没有PARAMS通过
你能看到rss.php什么可能是错误的?
谢谢
IndexIgnore *
ErrorDocument 404 /404.php
RewriteEngine on
RewriteRule ^all-time/?$ "index.php?mode=all-time"
RewriteRule ^all-time/cat/([^/\.]+)/?$ index.php?mode=all-time&cat=$1 [L]
RewriteRule ^all-time/cat/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=all-time&cat=$1&p=$2 [L]
RewriteRule ^all-time/p/([^/\.]+)/?$ index.php?mode=all-time&p=$1 [L]
RewriteRule ^cat/([^/\.]+)/?$ index.php?cat=$1 [L]
RewriteRule ^cat/([^/\.]+)/p/([^/\.]+)/?$ index.php?cat=$1&p=$2 [L]
RewriteRule ^comment/?$ "comment.php"
RewriteRule ^comments/?$ "comment_list.php"
RewriteRule ^delete/c/([^/\.]+)/?$ delete_comment.php?comment=$1 [L]
RewriteRule ^delete/p/([^/\.]+)/?$ delete_post.php?post=$1 [L]
RewriteRule ^delete/u/([^/\.]+)/?$ delete_user.php?user=$1 [L]
RewriteRule ^edit/p/([^/\.]+)/?$ submit.php?post=$1 [L]
RewriteRule ^edit/u/([^/\.]+)/?$ edit_user.php?user=$1 [L]
RewriteRule ^forgot/?$ "forgot.php"
RewriteRule ^login/?$ "login.php"
RewriteRule ^new/?$ "index.php?mode=new"
RewriteRule ^new/p/([^/\.]+)/?$ index.php?mode=new&p=$1 [L]
RewriteRule ^new/cat/([^/\.]+)/?$ index.php?mode=new&cat=$1 [L]
RewriteRule ^new/cat/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=new&cat=$1&p=$2 [L]
RewriteRule ^p/([^/\.]+)/?$ index.php?p=$1 [L]
RewriteRule ^register/?$ "register.php"
RewriteRule ^reset/about/?$ "reset_about.php"
RewriteRule ^reset/email/?$ "reset_email.php"
RewriteRule ^reset/forgot?$ "reset_forgot.php"
RewriteRule ^reset/pw/?$ "reset_pw.php"
RewriteRule ^search/?$ "search.php"
RewriteRule ^submit/?$ "submit.php"
RewriteRule ^submit/bulk/?$ "submit_bulk.php"
RewriteRule ^submissions/([^/\.]+)/?$ index.php?mode=submit&user=$1 [L]
RewriteRule ^submissions/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=submit&user=$1&p=$2 [L]
RewriteRule ^submissions/([^/\.]+)/cat/([^/\.]+)/?$ index.php?mode=submit&user=$1&cat=$2 [L]
RewriteRule ^submissions/([^/\.]+)/cat/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=submit&user=$1&cat=$2&p=$3 [L]
RewriteRule ^u/([^/\.]+)/?$ profile.php?user=$1 [L]
RewriteRule ^u/([^/\.]+)/comments/?$ comment_list.php?user=$1 [L]
RewriteRule ^u/([^/\.]+)/comments/p/([^/\.]+)/?$ comment_list.php?user=$1&p=$2 [L]
RewriteRule ^ulist/?$ "user_list.php"
RewriteRule ^v/([^/\.]+)/?$ view.php?post=$1 [L]
RewriteRule ^voted/([^/\.]+)/?$ index.php?mode=vote&user=$1 [L]
RewriteRule ^voted/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=vote&user=$1&p=$2 [L]
RewriteRule ^voted/([^/\.]+)/cat/([^/\.]+)/?$ index.php?mode=vote&user=$1&cat=$2 [L]
RewriteRule ^voted/([^/\.]+)/cat/([^/\.]+)/p/([^/\.]+)/?$ index.php?mode=vote&user=$1&cat=$2&p=$3 [L]
RewriteRule ^rss/?$ "rss.php"
RewriteRule ^rss/all-time/?$ "rss.php?mode=all-time"
RewriteRule ^rss/all-time/cat/([^/\.]+)/?$ rss.php?mode=all-time&cat=$1 [L]
RewriteRule ^rss/cat/([^/\.]+)/?$ rss.php?cat=$1 [L]
RewriteRule ^rss/new/?$ "rss.php?mode=new"
RewriteRule ^rss/new/cat/([^/\.]+)/?$ rss.php?mode=new&cat=$1 [L]
RewriteRule ^rss/submissions/([^/\.]+)/?$ rss.php?mode=submit&user=$1 [L]
RewriteRule ^rss/submissions/([^/\.]+)/cat/([^/\.]+)/?$ rss.php?mode=submit&user=$1&cat=$2 [L]
RewriteRule ^rss/voted/([^/\.]+)/?$ rss.php?mode=vote&user=$1 [L]
RewriteRule ^rss/voted/([^/\.]+)/cat/([^/\.]+)/?$ rss.php?mode=vote&user=$1&cat=$2 [L]
这是可能更有效率,但改变顺序似乎没有什么差别 - 我移动/提交/批量超过/提交,并去/提交/批量仍然使我submit.php而不是submit_bulk.php – samJL 2011-04-07 21:58:23