.htaccess 将所有内容重定向到“/public”,除了子文件夹中的“/blog”

.htaccess redirect everything to "/public" except for "/blog" in subfolder

我有一个 .htaccess 文件可以将所有用户重定向到我的 index.php in /public:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^(.*)$ public/index.php? [L,QSA]

我想将博客添加到我的站点作为 /blog 中的 wordpress 子文件夹。

我尝试添加:

RewriteCond %{REQUEST_URI} !/blog

作为条件,但我的站点一直将所有内容重定向到 /public。 有什么想法吗?

干杯。

听起来很简单:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]

RewriteCond %{REQUEST_URI} !^/blog/?
RewriteRule ^(.*)$ public/index.php? [L,QSA]

就我个人而言,我总是更喜欢这种表示法:

RewriteEngine On
RewriteBase /

RewriteRule ^/?public/(.*)$ / [L,NE,R=302]

RewriteCond %{REQUEST_URI} !^/blog/?
RewriteRule ^/?(.*)$ /public/index.php? [END,QSA]

如果这对您不起作用,那么您将需要开始调试:开始监控您的 HTTP 服务器的错误日志文件以及浏览器控制台中的网络选项卡。