【发布时间】:2009-05-04 16:39:34
【问题描述】:
多年来,我一直在使用 drupal 4.7 安装,最近遇到了一个问题。也就是说,重写后的 URL 现在显示这些字符: ?q= 在每个 drupal 生成的 URL 中,如下所示:http://sitename.com/?q=path/alias,之前是:http://sitename.com/path/alias。
我对为什么会发生这种情况的最佳猜测是,我最近开始使用一些 PHP 代码在几个侧边栏中添加特定于上下文的链接样式。代码如下:
<?php $alias= $_GET['q']; ?>
<a <?php $pos=strpos($alias,"1234"); // node number
if(!$pos == false) {
echo 'style="color:black"';
} ?> href="internal/link/alias">Internal Link</a>
或者最近:
<?php $path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$alias = url($path, array('absolute' => TRUE)); ?>
<a <?php $pos=strpos($alias,"internal/link/alias");
if(!$pos == false) {
echo 'style="color:black"';
} ?> href="internal/link/alias">Internal Link</a>
这可能是问题吗?如果是这样,关于修复的任何想法?
【问题讨论】:
-
如果您注释掉该代码,它会停止这样做吗?这将是验证它是否导致它的最佳方法。
-
另外,请确保您没有修改您的 .htaccess。您的代码看起来不应该添加 ?= 给我。
-
感谢您的想法,如果没有其他问题会尝试...