.htaccess条件,如果存在子目录,是否重写?

.htaccess条件,如果存在子目录,是否重写?,.htaccess,.htaccess,我有两条重写规则: RewriteRule ^([^/]+)(/.+)? /negocio$2.php?shopURL=$1 [L,QSA] 及 它们都是单独工作的,但使用它们会创建一个重写循环。我需要添加一个条件,以便第一个条件仅在存在子目录($2)时适用,第二个条件则相反。如果($2)不存在,请重写。您可以尝试以下操作: RewriteCond %{DOCUMENT_ROOT}$2 -d RewriteRule ^([^/]+)(/.*)$ negocio$2.php?shopURL=$1

我有两条重写规则:

RewriteRule ^([^/]+)(/.+)? /negocio$2.php?shopURL=$1 [L,QSA]

它们都是单独工作的,但使用它们会创建一个重写循环。我需要添加一个条件,以便第一个条件仅在存在子目录($2)时适用,第二个条件则相反。如果($2)不存在,请重写。

您可以尝试以下操作:

RewriteCond %{DOCUMENT_ROOT}$2 -d
RewriteRule ^([^/]+)(/.*)$ negocio$2.php?shopURL=$1 [L,QSA]

RewriteCond %{DOCUMENT_ROOT}$2 !-d
RewriteRule ^([^/]+)(/.+)?$ negocio/?shopURL=$1 [L,QSA]
RewriteCond %{DOCUMENT_ROOT}$2 -d
RewriteRule ^([^/]+)(/.*)$ negocio$2.php?shopURL=$1 [L,QSA]

RewriteCond %{DOCUMENT_ROOT}$2 !-d
RewriteRule ^([^/]+)(/.+)?$ negocio/?shopURL=$1 [L,QSA]