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,是否有任何线索或如何进一步检查?
答案 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 /