我想我可能已经把自己画成了一个角落。我曾经有一个标准永久链接/联系人/的联系页面。
我改为使用锚标记#maincontactform从每个页面访问的弹出联系表单。
我可以创建链接工作正常。
但是......如何将使用/ contact的旧反向链接重定向到新格式?
你不能像这样进行MOD重写:
RewriteRule /contact #maincontactform [R=301,L]
这似乎扩展到/%23maincontactform
有什么建议吗?
TIA
答案 0 :(得分:1)
mod_rewrite
会自动将特殊字符转换为十六进制格式。如果你不想这样,你必须明确告诉它不要用NE
标志这样做。除此之外,请记住在每个目录上下文中,例如.htaccess文件,与正则表达式匹配的部分不以斜杠开头。因此,http://example.com/contact
应与^contact/?$
匹配。
RewriteRule ^contact/?$ #maincontactform [R=301,NE,L]
答案 1 :(得分:0)
NE
flag将阻止mod_rewrite转义散列。
RewriteRule /contact #maincontactform [R=301,NE,L]