Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 是否可能重定向带有#字符的URL?_.htaccess_Redirect - Fatal编程技术网

.htaccess 是否可能重定向带有#字符的URL?

.htaccess 是否可能重定向带有#字符的URL?,.htaccess,redirect,.htaccess,Redirect,我想我可能把自己画在角落里了。我以前有一个带有标准permalink/contact/的联系人页面 我改成了一个弹出式的contactform,每个页面都有锚定标签#maincontactform 我可以创建链接,效果很好 但是。。。如何将使用/contact的旧反向链接重定向到新格式 您不能像这样进行MOD重写: RewriteRule /contact #maincontactform [R=301,L] 这似乎扩展到了/%23maincontactform 有什么建议吗 TIA将阻止mo

我想我可能把自己画在角落里了。我以前有一个带有标准permalink/contact/的联系人页面

我改成了一个弹出式的contactform,每个页面都有锚定标签#maincontactform

我可以创建链接,效果很好

但是。。。如何将使用/contact的旧反向链接重定向到新格式

您不能像这样进行MOD重写:

RewriteRule /contact #maincontactform [R=301,L]
这似乎扩展到了/%23maincontactform

有什么建议吗

TIA将阻止mod_rewrite从散列中转义

RewriteRule /contact #maincontactform [R=301,NE,L]

mod_rewrite
将自动将特殊字符转义为十六进制形式。如果您不想这样做,则必须使用
NE
标志明确告诉它不要这样做。除此之外,请记住,在每个目录上下文中,例如.htaccess文件,与正则表达式匹配的部分不会以斜杠开头<代码>http://example.com/contact因此,应与
^contact/?$
匹配

RewriteRule ^contact/?$ #maincontactform [R=301,NE,L]

请参见和

您的重写规则中的反勾号是打字错误还是必要的?如果必要的话,那是怎么回事?那是打字错误。我有一个带有延迟口音的键盘,显然我还有一个键盘在插入符号下,但没有注意到。酷。工作是一种享受。干杯