Regex Apache.htaccess mod_重写多个重写规则

Regex Apache.htaccess mod_重写多个重写规则,regex,apache,.htaccess,mod-rewrite,redirect,Regex,Apache,.htaccess,Mod Rewrite,Redirect,我已经将我的站点迁移到wordpress站点,并将永久链接设置为帖子名。我需要添加一个重写规则,从cgi目录中获取任何内容并将其发送到我尝试过的主页: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteR

我已经将我的站点迁移到wordpress站点,并将永久链接设置为帖子名。我需要添加一个重写规则,从cgi目录中获取任何内容并将其发送到我尝试过的主页:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
RewriteRule ^cgi(.*)$ http://example.com
#开始WordPress
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php
重写规则^cgi(.*)$http://example.com

从wordpress规则中删除[L]并添加最后一行,但仍然不起作用。有人能告诉我我做错了什么吗

保持
L
标记不变,您的
cgi
规则应放在
RewriteBase
行下方:

RewriteEngine On
RewriteBase /

RewriteRule ^cgi(.*)$ / [L,NC,R]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

更清楚地说,如果我键入example.com/cgi,它会重新路由,但如果我键入example.com/cgi/dynamic.uri,它不会重新路由