用pdf重定向htaccess问题?

时间:2014-05-26 11:54:00

标签: .htaccess redirect

这是所有.htaccess代码:

DirectoryIndex index.php

<IfModule mod_php5.c>
    php_value memory_limit 256M
    php_value max_execution_time 18000
    php_flag magic_quotes_gpc off
    php_flag session.auto_start off
    php_flag suhosin.session.cryptua off
    php_flag zend.ze1_compatibility_mode Off
</IfModule>

<IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

<IfModule mod_deflate.c>

</IfModule>

<IfModule mod_ssl.c>
    SSLOptions StdEnvVars
</IfModule>

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteRule ^api/rest api.php?type=rest [QSA,L]

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
    RewriteRule .* - [L,R=405]

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    RewriteRule .* index.php [L]
</IfModule>

AddDefaultCharset Off

<IfModule mod_expires.c>
    ExpiresDefault "access plus 1 year"
</IfModule>

Order allow,deny
Allow from all

<Files RELEASE_NOTES.txt>
    Order allow,deny
    Deny from all
</Files>

Redirect 301 /content http://www.axelen.ro/tapet/
Redirect 301 /content/documents/xh76.pdf http://www.axelen.ro/

因此,由于某种原因,它不会重定向PDF。它会将我重定向到404.如果您尝试http://www.axelen.ro/content,它会成功重定向到http://www.axelen.ro/tapet/,但PDF无效,我该怎么办?

1 个答案:

答案 0 :(得分:1)

xh76.pdf的重定向无效,因为第一个通用重定向规则(/content)与请求网址匹配 - &gt;它首先应用。

来自http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect

  

然后以URL路径开头的任何请求都会向目标网址的客户端返回重定向请求。

     

示例:

Redirect /service http://foo2.example.com/service
     

如果客户请求http://example.com/service/foo.txt,系统会告知其访问http://foo2.example.com/service/foo.txt。仅匹配完整路径段,因此上述示例与http://example.com/servicefoo.txt的请求不匹配。

解决方案可能是交换这两个规则,以便首先测试更具体的规则,或者使用正则表达式(例如。/content$)和文档所说的RedirectMatch directive