【问题标题】:mod_rewrite for complex subdomain redirectsmod_rewrite 用于复杂的子域重定向
【发布时间】:2015-02-07 05:03:34
【问题描述】:

这些是我当前用于将子域 HTTP 请求重定向到具有路径的域的指令。

RewriteCond %{HTTP_HOST} ^blog.website.com
RewriteRule ^(.*)$ http://website.com/blog [L]

但是,此网站是已发布社交媒体链接的网站的新版本。这些链接的图像 URL 现在已损坏,因为 URL 现在指向不同的服务器。图像已被迁移,并且所述图像的路径已保留在新服务器上。鉴于此,我需要重写我的指令来解释这些遗留链接。

当 URL 无路径或 URL 的第一个参数为 not /wp-content/ 时,我需要编写 only 重写 URL 的条件。

我必须制定区分这 3 种 URL 模式的条件和规则:

http://blog.website.com 
    -> http://website.com/blog
http://blog.website.com/wp-content/year/month/image.jpg 
    -> http://website.com/wp-content/year/month/image.jpg
http://blog.website.com/entry-url-title 
    -> http://website.com/blog/entry-url-title

【问题讨论】:

    标签: regex wordpress apache .htaccess mod-rewrite


    【解决方案1】:

    当然,在朋友们的帮助下,我最终还是做到了这一点。

    RewriteCond %{HTTP_HOST} blog.website.com
    RewriteCond %{REQUEST_URI} ^/?$
    RewriteRule ^(.*) http://website.com/blog [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^blog.website.com
    RewriteCond %{REQUEST_URI} !wp-content
        RewriteRule ^(.*) http://website.com/blog/%{REQUEST_URI} [R=301,NC,L] 
    
    RewriteCond %{HTTP_HOST} ^blog.website.com
    RewriteCond %{REQUEST_URI} wp-content
        RewriteRule ^(.*) http://website.com/%{REQUEST_URI} [R=301,NC]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 2013-07-14
      • 2013-07-18
      • 1970-01-01
      • 2012-05-13
      • 2016-05-18
      相关资源
      最近更新 更多