我正在为我目前正在开发的网站使用一些 url 重写。我对数字、字母和 - 使用这个重写工作正常:
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ characters.php?realm=$1&name=$2 [NC]
但是,我需要规则的第一部分来允许允许 ',并且我需要规则的第二部分来允许特殊字符,例如 ú、æ、ä、ç 以及几乎所有位于此处的字符类似于一封信。
我知道特殊字符不好,但我不是允许它们用于字符名称的人。我只需要在我的规则中允许它们,以便具有这些名称的字符可以访问我的应用程序。
谢谢。
编辑:第一部分现在有效。目前正在尝试第二部分。
编辑#2:为第二部分([^/]+)尝试两种解决方案并排除某些字符允许显示信息而不是导致 404 错误。但是它导致我的 CSS 不显示,而是尝试调用 /css/error 而不是 /css。根据 chrome,它会导致 css 文件的重定向循环。
将某些内容重定向到 /error 的唯一方法是字符数据无效。此应用程序用于从暴雪字符 api 中提取字符信息,因此重音字符可以用于重写是必不可少的。
我不确定这是否重要,但是当我只允许 ú 与 az 和 AZ 一起包含时,我收到一个 404 错误,指出无法找到该页面,而不是显示 ú 它显示 ú 在它的位置。