href Link停止工作

时间:2016-10-06 08:41:32

标签: php html href

我有一个href链接,点击后应该打开一个位于该位置的Excel文件。它在Chrome和IE9中完美运行,但从昨天开始它就停止了工作,但没有任何改变。

代码如下所示:

<?php
$file_name="MyFile.xlsx";
$folder_name="CurrentFolder" . "/";
$file_path='D:/AllFiles/';
$link1=$file_path. $folder_name. $file_name;
?>

<a href="<?php echo $link1 ?>" target=_blank>
    <div style="height:100%;width:100%"> 
                <?php echo "$link1"; ?>
    </div>
</a>

编辑:

这是一些httpd.conf文件:

<Directory "c:/wamp/www/">
    Require local
</Directory>

<Directory "c:/wamp/www/site1/">
    Require all granted
 </Directory>

Alias "/ssfiles" "D:/AllFiles/CurrentFolder"
<Directory "D:/AllFiles/CurrentFolder">
    Require all granted
</Directory>

1 个答案:

答案 0 :(得分:0)

由于D:/AllFiles/CurrentFolder文件夹位于DocumentRoot文件夹之外,因此不允许Apache访问它。我的意思是,当用户点击你创建的链接时,Apache会看到一个文件夹,它没有被告知是允许访问的,也没有权限访问。

您需要为存储在DocumentRoot外部的文件夹创建别名,以便Apache知道它可以访问它们,以及它们被称为什么(别名)以及谁可以请求数据。

Alias "/ssfiles" "D:/AllFiles/CurrentFolder"
<Directory "D:/AllFiles/CurrentFolder">
    Require all granted
</Directory>

然后更改代码以使用您创建的别名,然后从domain.tld/ssfiles/anyfilename.ext请求apache看到的任何内容它将尝试从D:/AllFiles/CurrentFolder服务器

<?php
$spreadsheet_alias  = 'ssfiles/';
$file_name          = 'MyFile.xlsx';
$link1= $spreadsheet_alias. $file_name;
?>    
<a href="<?php echo $link1 ?>" target=_blank>
    <div style="height:100%;width:100%"> 
        <?php echo "$link1"; ?>
    </div>
</a>

PS:这可能是因为我们修复了this previous question

中的内容