我在SO上找不到完全相同的问题。我希望有人可以帮我解决这个问题。
说,用户输入了http://www.example.com/abc#!def
,我想要删除${REQUEST_URI}
部分中的所有符号,然后重定向到http://www.example.com/abcdef
。问题是这些符号可以出现在字符串中的任何地方,例如#ab!cdeg
和abcdef#!
都应重定向到abcdef
。
如果我是正确的,mod_rewrite没有字符串替换功能,所以这似乎无法做到,但我是否正确?
答案 0 :(得分:2)
您可以在regular expressions中使用RewriteCond
捕获网址的特定部分
或RewriteRule
,但不删除任意字符。
此外,您永远不会在URL中看到hash character '#'及其后面的所有内容,因为客户端使用它来导航到文档的特定部分。
使用next标记更新:
RewriteRule (.*)[^a-zA-Z](.*) $1$2 [N]
此规则会删除所有不是^
字母的字符。