【问题标题】:Rewrite url for subdirectory in .htaccess重写 .htaccess 中子目录的 url
【发布时间】:2014-01-27 20:15:29
【问题描述】:

我将 wordpress 文件从根目录移至子目录。 wp-content/uploads 文件夹中上传了一些文件。直接访问这些文件时,出现 404 错误。

我只需要通过 .htaccess 重写 wp-content/uploads 的 url

我需要的是从 http://example.com/wp-content/uploads/2012/09/report.pdfhttp://example.com/wp_sub/wp-content/uploads/2012/09/report.pdf

这是我尝试过的

RewriteCond %{HTTP_HOST} ^(www.)?example.com$

重写规则 ^(.*)$ http://www.example.com/wp_sub/$1 [R=301,QSA,L]

这会为每个链接添加一个子目录 wp_sub。 我只需要为 wp-content/uploads 链接添加一个子目录“wp_sub”。

我错过了什么?

【问题讨论】:

    标签: regex wordpress .htaccess subdirectory


    【解决方案1】:

    让我们看看

    RewriteRule ^(.*)$ http://www.example.com/wp_sub/$1
    

    意思是:
    您将所有内容 (^(.*)$) 重写为 http://www.example.com/wp_sub/$1
    好吧,您不想重写所有内容,对吗? :)

    所以我们必须限制它只影响wp-content 文件夹:

    RewriteRule ^(wp-content/.*)$ http://www.example.com/wp_sub/$1 [R=301,QSA,L]
    

    【讨论】:

      【解决方案2】:

      您可以使用代码:

         RewriteRule ^wp-content/uploads/(.*)$ http://www.example.com/wp_sub/wp-content/uploads/$1 [R=301,L]
      

      【讨论】:

        【解决方案3】:

        将此规则放在您的 /wp-content/uploads/.htaccess 文件中:

        RewriteEngine On
        RewriteBase /wp-content/uploads/
        
        RewriteRule ^(.*)$ /wp_sub/$1 [L,R]
        

        【讨论】:

          猜你喜欢
          • 2010-10-26
          • 2011-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-20
          • 2014-02-04
          相关资源
          最近更新 更多