我们的营销部门发送了一封包含十几个 PDF 的电子邮件。我们发送了一封包含指向我们服务器上托管的 PDF 文档的 HTTP 链接的电子邮件。
我们现在正在将目的地移至另一个位置。
当前的设置:
- 阿帕奇/2.2.24
PHP 5.3.24
是否可以重定向目的地而无需再次向所有收件人发送电子邮件?
我当前的 .htaccess 看起来像这样(在文件夹的根目录中)
<IfModule rewrite_module>
RewriteEngine On
Redirect /9/91/Demo.pdf http://www.cnn.com/index.html
RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
RewriteRule . - [forbidden]
</IfModule>
- 但我总是得到 Demo.pdf 文件
如果我想重定向:www.site.com/files/somefile.pdf 到 ---> www.othersite.com/otherfiles/correctfile.pdf
命令应该是什么?
答案1
在网络服务器的文档文件夹的根目录中,放置一个新
.htaccess
文件(或者,如果您之前已经创建了一个文件,则修改现有文件)。对于每个
.pdf
文档,在文件中放置一行.htaccess
,语法如下:Redirect 301 /pdf/some-document.pdf http://example.com/foo/some-document.pdf
这Redirect
指示需要mod_alias
加载(通常是这样的)。
301 表示这是一个永恒的重定向(与 302 不同,302 是暂时的重定向)。之后是文档的旧路径(相对于文件的位置.htaccess
)。最后一个参数是文件的新位置。
调整文件后请务必重新启动 Apache .htaccess
,因为它很可能已被缓存。
答案2
创建一个名为“oldfile.pdf”的文件夹,在其中创建一个index.php文件并添加以下代码:
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.example.com/new-page-to-redirect-to.pdf" );
?>