这是所有.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无效,我该怎么办?
答案 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。