med*_*iev 2 apache mod-rewrite mod-alias http-status-code-301
我想要的是:
301将/file_new.pdf重定向到/ file new.pdf(%20又名文件和新文件之间的空格)
我知道:
但是,我个人很好奇如何做到这一点.这是我到目前为止所拥有的:
Redirect 301 /file_new.pdf http://sitename.com/file\ new.pdf
Run Code Online (Sandbox Code Playgroud)
调用configtest时,conf文件解析器会抛出错误:
重定向需要两个或三个参数,一个可选状态,然后是要重定向的文档和目标URL
编辑:显然mod_rewrite和Redirect 301方法对我有效,可能是因为无论出于什么原因他们没有应用,因为该文件实际存在于该位置.
<VirtualHost *:80>
DocumentRoot /www/sitename_com
ServerName site.local
Options -MultiViews
RewriteEngine on
Redirect 301 /pdf/file_new.pdf http://site.local/pdf/file%20new.pdf
RewriteRule ^/pdf/file_new.pdf http://site.local/pdf/file\ new.pdf
RewriteLog "/www/rewrite.log"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在rewrite.log中,它尝试将模式匹配到每个相应的uri/http请求.我认为有些东西在它甚至到达mod_alias/mod_rewrite之前就已经控制了.
总而言之,它直接转到浏览器中的file_new.pdf而不是301.我很肯定alias
并且rewrite
已启用.我的apache版本是2.2.
在Redirect
实际上是mod_alias中,没有mod_rewrite的一部分.我很高兴%20工作,你也可以使用引号告诉apache包含空格的路径是重定向到的URL而不是两个单独的项:
Redirect 301 /pdf/file_new.pdf "http://site.local/pdf/file new.pdf"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4277 次 |
最近记录: |