首页 > 解决方案 > 如果域是 X,则禁用站点上的所有链接

问题描述

所以我有这个问题,在 Drupal 中有 2 个网站(1 个测试和 1 个公共),在 2 个不同的域上。两者都有一些静态链接,问题是公版现在有很多针对测试版的链接。

我尝试使用以下方法修改 .htaccess 中的域:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !new-example.com$ [NC]
RewriteRule ^(.*)$ http://new-example.com/$1 [L,R=301]

但这会破坏 js 文件中的很多内容。我知道这很乱,但是如果我只是输入一个命令来禁用用户可以在前端看到的所有静态链接,那对我来说没关系。

有什么办法可以做到这一点?谢谢!

标签: php.htaccessdrupalhyperlink

解决方案


不要对链接使用绝对路径 - 改用根相对路径。

所以不要使用:

http://test.dev/contact

IE

<a href = "http://test.dev/contact">Contact</a>

但只是使用

/contact

IE

<a href = "/contact">Contact</a>

通过模板文件/数据库转储使用一些搜索/替换来修复所有现有链接。


推荐阅读