- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要进行一堆 301 重定向,其中包含来自同一个 .htaccess
的不同域。文件。我可以为每个规则编写一个 RewriteCond,如下所示,它工作正常:
RewriteCond %{HTTP_HOST} www.domain1.com [NC]
RewriteRule old-url-1a.htm /new-url-1a [L,R=301]
RewriteCond %{HTTP_HOST} www.domain1.com [NC]
RewriteRule old-url-1b.htm /new-url-1b [L,R=301]
RewriteCond %{HTTP_HOST} www.domain2.com [NC]
RewriteRule old-url-2a.htm /new-url-2a [L,R=301]
RewriteCond %{HTTP_HOST} www.domain2.com [NC]
RewriteRule old-url-2b.htm /new-url-2b [L,R=301]
RewriteRule www.domain1.com/old-url-1a.htm /new-url-1a [L,R=301]
RewriteRule www.domain1.com/old-url-1b.htm /new-url-1b [L,R=301]
RewriteRule www.domain2.com/old-url-2a.htm /new-url-2a [L,R=301]
RewriteRule www.domain2.com/old-url-2b.htm /new-url-2b [L,R=301]
最佳答案
Apache 文档说明了 RewriteRule:
What is matched?
The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string. If you wish to match against the hostname, port, or query string, use a RewriteCond with the %{HTTP_HOST}, %{SERVER_PORT}, or %{QUERY_STRING} variables respectively.
RewriteMap host-redirects txt:/etc/apache2/host-redirects.map
RewriteRule ^/([^/]*).htm$ http://%{HTTP_HOST}/${host-redirects:%{HTTP_HOST}/$1|$1} [R,L]
www.domain1.com/old-url-1a.htm /new-url-1a/
www.domain1.com/old-url-1b.htm /new-url-1b/
www.domain2.com/old-url-2a.htm /new-url-2a/
关于.htaccess - 在 RewriteRule 中匹配 HTTP_HOST 而不是使用 RewriteCond,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283645/
在最近的 php 版本更新后,我突然收到来自 php 的通知。它用于多个地方(特别是我的 htmlMimeMail 类)。 代码是:$mail->setSMTPParams('*mail.xxxx.x
服务器变量 HTTP_HOST 是否总是为所有服务器定义,或者例如在 IIS 中用其他名称定义,甚至根本没有定义? 另外,那个值总是被定义的?或者一些主机他们没有定义那个值?还有其他方法可以检索该值吗
我已经编写了一个 PHP 脚本,我想在同一台服务器上的多个域上使用它(指向同一脚本)。我想为脚本添加功能,以便我可以随时找出脚本正在使用的域。 HTTP_HOST 可用于查找域,但是,我读到它不可靠,
我必须显示当前服务器主机(在 PHP 中,但这不是很重要)。我不知道我在哪个主机上。如果没有安全问题,我该怎么做?如果我使用 $_SERVER['HTTP_HOST'],它来自客户端,所以我不能相信这
从我们的本地主机开发环境部署到我们的暂存服务器后,我们在我们的站点中发现了错误。我们将错误缩小到以下 PHP 代码片段: $_SERVER['HTTP_HOST'] 我们用它来构建我们网站使
我进入错误日志: PHP Notice: Undefined index: HTTP_HOST in /var/www/html/web/libraries/src/Application/WebAp
我无法让它在 .htaccess 的这一部分工作,IfDefine从不运行。我做错了什么,setenvif模式已启用。 RewriteBase / SetEnvIf HTTP_HOST ^localh
我已经将我的站点 test.com 的域名更改为 test2.com 域名由test.com变更为test2.com I want to know if all the pages like test
我的 php 页面有很多流量,但没有设置变量 $_SERVER['HTTP_HOST']。 此流量相当于每秒 1 次点击。我不知道它可能是什么,但为了减少服务器负载,我在每个 php 页面的顶部这样做
我有一个充满网站 url 的数据库,主键是网站的 $_SERVER["HTTP_HOST"]。 当用户导航到 ... 让我们说 www.my-epic-example-url.com 时,它将连接数据
当我检查日志时,在极少数情况下,某些访问者(我认为是机器人)返回 $_SERVER['HTTP_HOST']:www.domain.co.uk:80 只有域名没有任何端口的正确方法是什么? 我应该这样
我不知道这可能是一个错误。 我的服务器上有 2 个虚拟主机。 virtualhost1.comvirtualhost2.com 如果我使用端口 80 (virtualhost1.com:80) 打开
我正在尝试使用 Django 框架开发一个网站并使用 DigitalOcean.com 启动并将必要的文件部署到 django-project 中。 我必须在 Django-project 中包含静态
相关资料: 查看所有的Server Variables ServerVariables集合检索预定的环境变量意义 今天突然想起每次请求 HTTP_HOST 和 SERVER_NAME 的值总是一
我们的本地开发设置需要 DMZ 中的一个框,每个开发人员在其 apache 配置中都有一行用于代理。看起来像: ProxyPreserveHost on ProxyPass /user1/ {user
我一直在读,在可能的情况下,我不应该使用 mod_rewrite .因此,我正在尝试使用 RedirectMatch 进行 http 到 https 重写。 问题:我如何使用 RedirectMatc
我有两台服务器正在为我的应用程序运行。 生产和分期如下。 如果 HTTP_HOST 匹配 www.sitedomain.com,我需要执行一些重定向规则或 stage.sitedomain.com 如
我的软件支持指向完全相同目录的多个域,我使用共享主机。我需要从具有各自主机名的目录中加载每个域的图标。这是一个视觉... http://www.example1.com/favicon.ico pub
这是我的.htaccess文件: RewriteEngine On '"> RewriteRule ^$ [R=301,L] RewriteRule ^$ [R=301,L]
这是我的.htaccess文件: RewriteEngine On '"> RewriteRule ^$ [R=301,L] RewriteRule ^$ [R=301,L]
我是一名优秀的程序员,十分优秀!