Drupal重定向在根文件夹中不起作用-重写规则正常吗?

时间:2018-09-05 09:56:42

标签: apache mod-rewrite drupal url-rewriting drupal-7

None of my redirects are working并显示为从未访问,想知道我的重写规则是否阻止了它。

有人可以帮我,请确认下面的示例结果重写看起来不错吗?

init rewrite engine with requested uri /test/
rewrite '/test/' -> '/index.php?q=/test/'
local path result: /index.php
prefixed with document_root to /var/www/html/drupal/index.php
go-ahead with /var/www/html/drupal/index.php [OK]

更新:

刚刚发现,如果我禁用了根脚本检查,那么重写就可以了。

if (!preg_match('/index\.php$/', $_SERVER['SCRIPT_NAME'])) {
      // Do not redirect if the root script is not /index.php.
//      $can_redirect = FALSE; //disabled
    $can_redirect = TRUE; // without the check it works
    }

不知道为什么该检查不起作用,因为我的重写内容是/index.php,是否有任何线索或如何进一步检查?

1 个答案:

答案 0 :(得分:0)

如果 Drupal 重定向不在根文件夹上工作,例如:/var/www/html 并且在根下的某个文件夹上工作,例如:/var/www/html/test

你应该修改 .htaccess 并找到这些行

# If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /

并取消注释 RewriteBase / 行为

# If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  RewriteBase /