2

我的 drupal 站点有一个.htaccess文件,我在redirecting该文件上是页面而不更改它,它在& 其他URL上工作正常,但是当我将文件和数据库上传到它时,它不会重定向页面说。我放在文件夹的根目录下,我尝试将它放在文件夹、文件夹和文件夹中,但对我没有任何作用。任何人都可以知道in site on的正确位置是什么吗?& 为什么我不工作?local serverserverspantheon server404 not found.htaccesscodeserver rootsitesthemes.htaccessdrupalpantheon.htaccesspantheon

4

4 回答 4

2

Pantheon 运行 nginx,它忽略 .htaccess 文件。

于 2015-04-16T15:28:24.863 回答
2

因为 Pantheon 服务器使用 Nginx,并且它们不启用 .htaccess 支持。

您应该直接与他们联系以讨论您的选择。

但是,您可以使用 Drupal 的 settings.php 执行重定向,请参阅:

https://pantheon.io/docs/articles/sites/code/redirect-incoming-requests/

于 2015-04-16T15:44:08.053 回答
0

技术上用清漆运行 Nginx。 重定向重定向传入请求

// 301 Redirect from /old to /new.
if (($_SERVER['REQUEST_URI'] == '/old') &&
  (php_sapi_name() != "cli")) {
  header('HTTP/1.0 301 Moved Permanently');
  header('Location: /new');
  exit();
}
于 2016-04-04T22:35:46.533 回答
0

Pantheon 不使用找到的 htaccess 文件,因为它不使用 Apache。Pantheon 使用 Varnish 和 Nginx 结合快速 CDN 现在是所有更新的 HTTPS 安装的标准。

“重定向应该在 PHP 中管理,因为 .htaccess 被忽略。有关详细信息,请参阅使用 PHP 作为 htaccess 替代方案。” https://pantheon.io/docs/htaccess/

在 settings.php 中使用 HTTPS 配置重定向到主域

万神殿的重定向设置非常独特。它能够允许 PHP 重定向直接进入清漆层,而没有 PHP 重定向的传统延迟。

对于 Drupal 7,将以下内容添加到 settings.php 文件的末尾(替换 www.example.com):

if (isset($_SERVER['PANTHEON_ENVIRONMENT']) && php_sapi_name() != 'cli') {
  // Redirect to https://$primary_domain in the Live environment
  if ($_ENV['PANTHEON_ENVIRONMENT'] === 'live') {
    /** Replace www.example.com with your registered domain name */
    $primary_domain = 'www.example.com';
  }
  else {
    // Redirect to HTTPS on every Pantheon environment.
    $primary_domain = $_SERVER['HTTP_HOST'];
  }

  if ($_SERVER['HTTP_HOST'] != $primary_domain
      || !isset($_SERVER['HTTP_X_SSL'])
      || $_SERVER['HTTP_X_SSL'] != 'ON' ) {

    # Name transaction "redirect" in New Relic for improved reporting (optional)
    if (extension_loaded('newrelic')) {
      newrelic_name_transaction("redirect");
    }

    header('HTTP/1.0 301 Moved Permanently');
    header('Location: https://'. $primary_domain . $_SERVER['REQUEST_URI']);
    exit();
  }
}

请参阅 https://pantheon.io/docs/guides/launch/redirects/

https://pantheon.io/docs/domains/

对于 HTTPS https://pantheon.io/docs/http-to-https/

重定向到子目录或特定 URL

要从子域重定向到站点的特定区域,请使用以下命令:

// Redirect subdomain to a specific path.
if (isset($_SERVER['PANTHEON_ENVIRONMENT']) &&
  ($_SERVER['HTTP_HOST'] == 'subdomain.yoursite.com') &&
  // Check if Drupal or WordPress is running via command line
  (php_sapi_name() != "cli")) {
  $newurl = 'http://www.yoursite.com/subdomain/'. $_SERVER['REQUEST_URI'];
  header('HTTP/1.0 301 Moved Permanently');
  header("Location: $newurl");
  exit();
}

对于 Drupal 8(认为这可能也有帮助,因为 Drupal 8 和 Drupal 7 的重定向设置略有不同) 将以下内容添加到 settings.php 文件的末尾(替换 www.example.com):

if (isset($_SERVER['PANTHEON_ENVIRONMENT']) && php_sapi_name() != 'cli') {
  // Redirect to https://$primary_domain in the Live environment
  if ($_ENV['PANTHEON_ENVIRONMENT'] === 'live') {
    /** Replace www.example.com with your registered domain name */
    $primary_domain = 'www.example.com';
  }
  else {
    // Redirect to HTTPS on every Pantheon environment.
    $primary_domain = $_SERVER['HTTP_HOST'];
  }

  if ($_SERVER['HTTP_HOST'] != $primary_domain
      || !isset($_SERVER['HTTP_X_SSL'])
      || $_SERVER['HTTP_X_SSL'] != 'ON' ) {

    # Name transaction "redirect" in New Relic for improved reporting (optional)
    if (extension_loaded('newrelic')) {
      newrelic_name_transaction("redirect");
    }

    header('HTTP/1.0 301 Moved Permanently');
    header('Location: https://'. $primary_domain . $_SERVER['REQUEST_URI']);
    exit();
  }
  // Drupal 8 Trusted Host Settings
  if (is_array($settings)) {
    $settings['trusted_host_patterns'] = array('^'. preg_quote($primary_domain) .'$');
  }
}
于 2017-11-01T20:06:36.137 回答