本地主机 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对象”错误 但实时网站运行正常。是因为服务器配置还是我缺少什么?
欢呼