0

美好的一天,请帮助我,我一直在努力解决这个“简单”的 rewriteCond 这是我的原始代码:

######################################################################## Willowvine
RewriteCond %{HTTP_HOST} !^willowvine\.dev$

RewriteRule . - [S=1]

RewriteRule ^admin/(.*)$ admininistration/$1 [QSA,L]
######################################################################## EndRules

######################################################################## Dove Rules
RewriteCond %{HTTP_HOST} !^dove\.dev$

RewriteRule . - [S=2]

RewriteRule ^admin/(.*)$ admin_another/$1 [QSA,L] 
RewriteRule ^(.*)$ /client/recruiter/4021/$1 [QSA,L]
######################################################################## End Dove Rules

我不断收到此错误:

由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。

基本上我想做的是这样做:

if ${HTTP_HOST} == 'willowvine.dev/'    rewriterule 1: admin/* goes to
administration/*   else if ${HTTP_HOST} == 'dove.dev'    rewriterule
1:  admin/* goes to admin_another      rewriterule 2: if((${HTTP_HOST}
+ ${HTTP_URI}) != 'dove.dev/admin') root folder must start from /path/to/folder/start/he
4

1 回答 1

0

在第二条规则中添加一个附加条件以防止^(.*)$循环。您实际上可以合并而不是使用S标志来跳过:

######################################################################## Willowvine
RewriteCond %{HTTP_HOST} !^willowvine\.dev$
RewriteRule ^admin/(.*)$ admininistration/$1 [QSA,L]
######################################################################## EndRules

######################################################################## Dove Rules
RewriteCond %{HTTP_HOST} !^dove\.dev$
RewriteCond %{REQUEST_URI} !^/client/recruiter
RewriteRule ^(.*)$ /client/recruiter/4021/$1 [QSA,L]
######################################################################## End Dove Rules

或者只保留你原来的:

######################################################################## Willowvine
RewriteCond %{HTTP_HOST} !^willowvine\.dev$

RewriteRule . - [S=1]

RewriteRule ^admin/(.*)$ admininistration/$1 [QSA,L]
######################################################################## EndRules

######################################################################## Dove Rules
RewriteCond %{HTTP_HOST} !^dove\.dev$

RewriteRule . - [S=2]

RewriteRule ^admin/(.*)$ admin_another/$1 [QSA,L] 


### add conditions here for URIs that you don't want the rule to get applied to
RewriteCond %{REQUEST_URI} !^/admin_recruiter
RewriteCond %{REQUEST_URI} !^/client/recruiter
RewriteRule ^(.*)$ /client/recruiter/4021/$1 [QSA,L]
######################################################################## End Dove Rules
于 2012-10-20T09:18:06.427 回答