【问题标题】:How do I ignore .htaccess on subdomain?如何忽略子域上的 .htaccess?
【发布时间】:2015-04-24 15:49:32
【问题描述】:

除非我们使用子域:foo.domain.com,否则我想强制使用 HTTPS。 当我在浏览器的隐身模式下打开该子域时,它可以工作。未添加 HTTPS。当我在浏览器上以正常模式打开该子域时,我收到一条错误消息:“您的连接不是私有的”。我可以看到浏览器上的 URL 现在显示为:https://foo.domain.com。清除浏览器的缓存似乎并不能解决问题。

RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^foo\. [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

谢谢!

【问题讨论】:

  • 我觉得没问题。你看到重定向发生了吗?意思是如果你输入 http 它会变成 https?
  • 是的,我看到浏览器地址栏上的 http 被替换为 https。我更新了我的问题以获得我正在尝试使用的实际子域。目前,它只适用于我在 Firefox 内的私人窗口中打开它。
  • 如果您尝试使用其他浏览器会发生什么情况。也没有必要放置实际的子域。 foo 可以用于示例目的。您的子域如何在您的系统上运行?是根目录下的子文件夹吗?
  • 它在我的任何其他浏览器中都不起作用,即使在“私人”模式下也是如此。此子域是外部 URL 的别名。目前,它不指向我们本地服务器上的资源。
  • 如果它没有真正看到处于别名状态的主机,这可能是原因。您可能需要调整 vhost 配置并将子域添加到 ServerAlias 指令中,然后查看是否可行。 httpd.apache.org/docs/2.2/mod/core.html#serveralias

标签: wordpress apache .htaccess https


【解决方案1】:

这听起来像是一个缓存问题,或者像 https 这样的附加组件无处不在。如果它在隐私浏览或隐身模式下工作,它也可以在正常模式下工作。如果隐私浏览/隐身模式的行为与正常模式不同,这意味着某些内容仍会在正常模式下缓存,或者您在正常模式下启用了在隐私模式下未启用的附加组件。我发现 301 重定向非常持久,甚至在删除我认为是某个网站的所有历史记录后仍然存在。

目前测试您的网站对我来说似乎工作正常。我建议在一切正常之前不要使用 301 重定向。当一切都按预期工作时,您可以根据需要将 302(临时)重定向转换为永久重定向。

来自其他 stackexchange 站点的以下两个问题可能会有所帮助:https://superuser.com/questions/304589/how-can-i-make-chrome-stop-caching-redirectshttps://superuser.com/questions/467999/clear-301-redirect-cache-in-firefox

【讨论】:

  • 现在可以使用了。即使我已经刷新了几次缓存,我还是决定给它几天看看。如果我有任何缓存问题,我想他们会清除的。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2020-03-03
  • 2011-02-06
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
相关资源
最近更新 更多