使用 HTaccess 在 WordPress 中排除文件夹失败


exclude folder in wordpress using htaccess failed

输入根目录后,我创建了一个名为folder1的文件夹。在那个级别的目录中,有我的.htaccess,我用谷歌搜索并将以下行粘贴在

..
RewriteRule ^index'.php$ - [L]
// this
RewriteCond %{REQUEST_URI}  !(folder1|folder2|folder3) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
..

但是当我去 mydomain.com/folder1 时,它返回了我的 wordpress 的 404?

您应该发布所有代码,以便我们可以确保没有其他规则冲突。不仅仅是您无法工作的部分。

尝试使用THE_REQUEST并尝试以这种方式将其置于WordPress规则之上。因此,如果匹配,则什么都不做。

RewriteCond %{THE_REQUEST} ^(GET|POST) /(folder1|folder2|folder3) [NC]
RewriteRule ^ - [L]

我找到了这个,使用 wordpress.htaccess 排除子文件夹并为我工作。我把它放在WordPress规则之前:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/yoursubdirectoryname1/(.*)$
RewriteRule ^.*$ - [L]
</IfModule>

这是WordPress规则:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
# END WordPress

我的完整 .htaccess 代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/yoursubdirectoryname1/(.*)$
RewriteRule ^.*$ - [L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
# END WordPress

来源:我在WordPress论坛上找到了这段代码。