2013-12-11 63 views
1

我有一个入站链接,位于.html扩展名后有%00的网站。使用%符号重定向url使用htaccess中的重写

例子:/directory/example.html%00由于%符号

我想使用这个htaccess的URL重定向到

/directory/example.html

我有这个重定向的问题。

在htaccess中,由于%符号,这不起作用。

RewriteRule ^directory/example\.html%00$ /directory/example\.html [R=301,L] 

我试着用\ first转义%符号。

我已经在网上搜索了关于这个,我仍然在挣扎。也许一个重写条件必须先执行?由于%00是一个特殊字符(零十六进制代码),apache没有机会重写它?

回答

1

this questionRFC 3986可以看出'%'字符在URL中无效,除非它出现在URL的查询字符串中(在'?'分隔符后面)。您的RewriteRule将是正确的,但由于该URL无效,请求永远不会到达您的网站。如果“%00”实际上不是一个文字字符串,而是[NUL]字符(因为这在URL中也是无效的),情况也是如此。