使用.htaccess将站点的根目录重定向到子目录

使用.htaccess将站点的根目录重定向到子目录,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我的一个站点将所有文件存储在一个子目录中。以前,我使用301重定向将访问者从site.com/specific/page发送到site.com/subdirectory/specific/page 我现在用的是: RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?site.com$ RewriteCond %{REQUEST_URI} !^/subdirectory/ RewriteCond %{REQUEST_FILENAME} !-f Rew

我的一个站点将所有文件存储在一个子目录中。以前,我使用301重定向将访问者从
site.com/specific/page
发送到
site.com/subdirectory/specific/page

我现在用的是:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?site.com$
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdirectory/$1
RewriteCond %{HTTP_HOST} ^(www.)?site.com$
RewriteRule ^(/)?$ subdirectory/index.php [L]

这意味着URL更干净。但是,有没有办法让htaccess将使用子目录的用户重定向到更干净的URL?即,如果有人转到
site.com/subdirectory/specific/page
,有没有办法使URL
site.com/specific/page
,当显示来自
site.com/subdirectory/specific/page

的内容时,youn将重定向,而不是重写

RedirectMatch 301 "^/subdirectory/(.*)" "/$1"
这样,如果它们直接命中任何子目录,它们将被重定向到更干净的URL,上面的规则将在那里生效