我在htaccess中遇到了一些301重定向问题。原始文件名/ URL被赋予特殊字符,我不太确定如何正确地逃脱。 URL的结构如下:
company%E2%80%99s-person-of-interest-aman%E2%80%99s-most-prestigious-%E2%80%9Cacademy-of-leaders-award%E2%80%9D
等同于:
company’s-person-of-interest-aman’s-most-prestigious-“academy-of-leaders-award”
我尝试过像
这样的事情 company\'-person-of-interest-aman\'s-most-prestigious-\"Cacademy-of-leaders-award\"
但那并没有奏效。我错过了什么?
答案 0 :(得分:0)
这是一个UTF-8字符,并不等同于\'#或\"在服务器端,因为'并且'根据编码规范是不同的字符。你可以做以下两件事之一:
1)您可以简单地重命名文件,将ASCII兼容字符替换为UTF-8字符
2)直接在重定向字符串中使用百分比编码值。
而不是
company\'-person-of-interest-aman\'s-most-prestigious-\"Cacademy-of-leaders-award\"
DO
company%E2%80%99s-person-of-interest-aman%E2%80%99s-most-prestigious-%E2%80%9Cacademy-of-leaders-award%E2%80%9C
编辑:在写答案的同时,我也意识到,即使您的字符是ASCII,您重定向网址的原始表达也不会完全匹配:
company\'-person-of-interest-aman\'s-most-prestigious-\"Cacademy-of-leaders-award\"
应该是
company\'s-person-of-interest-aman\'s-most-prestigious-\"academy-of-leaders-award\"