Переадресация URL с использованием .htaccess для обработки Unicode - PullRequest
0 голосов
/ 23 мая 2019

localhost 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, если последний символurl является символом между az или символом языка хинди, он должен перенаправить на новый путь, как указано.

Например, если url http://example.com/234/oldpath/oldpath1/fruits, тогда условие регулярного выражения будет истинным, поскольку последнеесимвол url 's''fruits

или http://www.example.com/oldpath/oldpath1/तारा Здесь последний символ взят из языка хинди (между \ x {0900} - \ x {097F}), таким образом, условие выполняется.

Q1 Как правильно написать регулярное выражение для данного требования?Q2 Должен ли я писать в отдельные перенаправления для обработки пути с и без "www", или это может быть сделано вместе с последним регулярным выражением символа?

Текущий .htaccess, который я использую на localhost:

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 объект не найден», но живой сайт работаетхорошо.Это из-за конфигурации сервера или я что-то упустил?

Cheers

...