2011-04-07 121 views
0

我已经写了一些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] 

回答

0

在我的000,默认的文件,我注意到:

选项指标的FollowSymLinks多视图 的AllowOverride所有 订购允许,拒绝 所有

允许删除多视图似乎解决问题

0

难道你要移动的更具体的条件更高的名单上,以尽量减少重定向的数量?即先将/ server/bulk条件放在第一位,这样它甚至不会达到/提交条件。

否则,有一个mod_rewrite选项用于检入httpd.conf或.htaccess中名为MaxRedirects的选项,该选项可防止重定向进入无限循环。我相信MaxRedirects默认设置为10,但可能在服务器上设置为1,这很奇怪。您可以通过设置RewriteOptions MaxRedirects=10在.htaccess中覆盖它。

+0

这是可能更有效率,但改变顺序似乎没有什么差别 - 我移动/提交/批量超过/提交,并去/提交/批量仍然使我submit.php而不是submit_bulk.php – samJL 2011-04-07 21:58:23

相关问题