在.htaccess中为重写规则设置异常

在.htaccess中为重写规则设置异常,.htaccess,exception,mod-rewrite,.htaccess,Exception,Mod Rewrite,这是我的.htaccess文件内容 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ main/ [L] RewriteRule (.*) main/$1 [L] </IfModule> 使用此配置,所有网站ex.()传入链接都将转到子目录main上的index.html 现在我想做一个例外,例如(),重定向到子目录ads。 我该怎么做 谢谢您有两种解决方案: 在其他规则之

这是我的.htaccess文件内容

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ main/    [L]
    RewriteRule  (.*) main/$1 [L]
</IfModule>
使用此配置,所有网站ex.()传入链接都将转到子目录main上的index.html
现在我想做一个例外,例如(),重定向到子目录ads。 我该怎么做

谢谢

您有两种解决方案:

在其他规则之前添加“广告”规则

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^ads$ ads/ [L]
    RewriteRule  ^$ main/    [L]
    RewriteRule  (.*) main/$1 [L]
</IfModule>

重新启动发动机
重写规则^ads$ads/[L]
重写规则^$main/[L]
重写规则(.*)main/$1[L]
或者不重写现有目录

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ main/    [L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule  (.*) main/$1 [L]
</IfModule>

重新启动发动机
重写规则^$main/[L]
重写cond%{REQUEST_FILENAME}-D
重写规则(.*)main/$1[L]

htaccess正在将所有内容重定向到main,因此如果请求sitename.com/ads,它将在主文件夹中查找广告。
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  ^$ main/    [L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule  (.*) main/$1 [L]
</IfModule>