【问题标题】:Redirect all pages in direcory except one subdirectory .htaccess重定向目录中的所有页面,除了一个子目录 .htaccess
【发布时间】:2015-10-19 17:14:51
【问题描述】:

我希望仍然从旧域的子目录中提供一个 URL,但将所有其他 URL 从父目录重定向到新域。

www.olddomain.co.uk/directorya/directoryb -> 无重定向 www.olddomain.co.uk/directorya -> www.newdomain.co.uk/directorya

如果 URL 使用尾部斜杠键入,则此方法有效

RewriteCond %{REQUEST_URI} !^/directorya\/directoryb [NC]
RewriteRule ^(.*)$ http://www.newdomain.co.uk/ [L,R=301]

所以http://www.olddomain.co.uk/directorya/directoryb/ 有效,但http://www.olddomain.co.uk/directorya/directoryb 失败。

试过在末尾加$等内涵尝试过

RewriteEngine on
RewriteRule !^myspecialdirectory/mynextdirectory($|/) http://newdomain.example%{REQUEST_URI} [L,R=301]

来自Redirect entire site except one directory to a new site - apache .htaccess

我需要做什么才能让http://www.olddomain.co.uk/directorya/directoryb/http://www.olddomain.co.uk/directorya/directoryb 重定向? (而所有其他 http://www.olddomain.co.uk 页面转到 http://www.newdomain.co.uk

由于我不明白的原因,http://www.olddomain.co.uk/directorya/directoryb 转到 Google 并且没有重定向

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting url-redirection


    【解决方案1】:

    尝试使用THE_REQUEST 变量并确保这是第一条规则

    RewriteCond %{THE_REQUEST} !\s+/+directorya/directoryb [NC]
    RewriteRule ^ http://www.newdomain.co.uk/? [L,R=301]
    

    清除浏览器缓存后进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多