使用.htaccess处理unicode的URL重定向

时间:2019-05-23 07:15:09

标签: .htaccess http-redirect

本地主机 XAMPP PHP版本7.2.11

Live Server PHP 7.1.x

我正在寻找使用htaccess进行页面重定向。

http://example.com/234/[ ] [a-z,\ x {0900}-\ x {097F}] https://www.example.com/234/newpath/fruits.htm

也处理www

http://www.example.com/234/[ ] [a-z,\ x {0900}-\ x {097F}] https://www.example.com/234/newpath/fruits.htm

条件是,在数字234 /之后,如果url的最后一个字符是介于 a-z或印地语的字符,它应该重定向到给定的新路径。

例如,如果网址是 http://example.com/234/oldpath/oldpath1/fruits 那么正则表达式条件将为true,因为url的最后一个字符是水果的“ s”

http://www.example.com/oldpath/oldpath1/त 这里的最后一个字符来自印地语(在\ x {0900}-\ x {097F}之间),因此条件为真。

Q1如何为给定要求正确编写正则表达式? Q2我是否必须编写单独的重定向来处理带有和不带有“ www”的路径,否则可以完成    以及最后一个字符正则表达式?

我在本地主机上使用的当前.htaccess是

AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteRule ^(js|img|css|favicon\.ico|image\.php|anprobe|content|libs|flash\.php|securimage)/ - [L,QSA,S=2]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [QSA,L]
</IfModule>

#<IfModule mod_rewrite.c>
#RewriteEngine On
#RewriteCond %{SERVER_PORT} 80
#RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
#</IfModule>

在实时网站上,区别在于https重定向已被注释掉。

问题是,在我的本地主机上,其他语言的几个url给我“找不到404对象”错误 但实时网站运行正常。是因为服务器配置还是我缺少什么?

欢呼

0 个答案:

没有答案