【问题标题】:Redirecting root of site to subdirectory using .htaccess使用 .htaccess 将站点的根目录重定向到子目录
【发布时间】:2011-08-01 13:17:23
【问题描述】:

我的一个站点的所有文件都存储在一个子目录中。以前,我使用 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的内容?

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    是的,但不是重写,而是重定向..

    RedirectMatch 301 "^/subdirectory/(.*)" "/$1"
    

    这样,如果他们直接点击任何子目录,他们将被重定向到更清晰的 URL,您的上述规则将在其中生效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-04
      • 2014-02-21
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      相关资源
      最近更新 更多