你能在htaccess文件中有条件吗?

时间:2018-01-23 14:53:17

标签: wordpress apache .htaccess

浏览网页以在.htaccess文件中添加制作规则。我有一个wordpress网站;一个用于生产,另一个用于分期。

上传文件后,会转到AWS(第3页)。我需要阻止此行为进行分段。

设置资产路径的代码位于.htaccess文件中:

RewriteRule ^wp-content/uploads/(.*)$ https://s3-eu-west-1.amazonaws.com/<BUCKET-NAME>/wp-content/uploads/$1 [R=301,L]

我似乎无法找到&#34; if语句&#34;或某种使用条件。老实说,我认为这是不可能的。是吗?

我只需要为生产而不是暂存运行该代码。 暂存网址与生产不同。

更新

每当我在下面使用时,我的网站崩溃了:

<If "-z req('Host') == 'www.<PRODUCTION>.com/'">
  RewriteRule ^wp-content/uploads/(.*)$ https://s3-eu-west-1.amazonaws.com/<BUCKET-NAME>/wp-content/uploads/$1 [R=301,L]
</If>

1 个答案:

答案 0 :(得分:1)

If指令适用于Apache 2.4及更新版本。在较低版本中,您可以使用RewriteCond指令有条件地重写URL。

你可以使用这样的东西

RewriteEngine on
#if host == "www.production.com"
RewriteCond %{HTTP_HOST} ^www.production.com$ [NC]
 # execute the rule
 RewriteRule ^wp-content/uploads/(.*)$ https: //s3-eu-west-1.amazonaws.com/<BUCKET-NAME>/wp-content/uploads/$1 [R=301,L]