У меня есть файл .htaccess со следующим кодом:
Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule /(.*)\.html article.php?title=$1
конвертировать мой url из article.php?title=xxxx
в article/xxxx.html
url содержит арабский и английский …
поэтому, когда я ввожу этот URL-адрес
article/تسريب-أولى-صور-هاتف-LG-G4s-الجديد.html
его рабочий штраф, но когда я посещаю другую статью с URL-адресом
article/CloneApp-نقل-برامجك-المفضلة-بكامل-إعدادتها-من-ويندوز-إلى-اخر-نقرة-زر.html
не работает: Objet non trouvé!
в чем проблема (разные между ними?), почему первые работы, а вторая нет!
Заранее большое спасибо.
Скорее всего, проблема заключается в вашем правиле перезаписи. Он явно выглядит так, что он применяется только к запросам, состоящим только из символов ascii, подчеркивания или дефиса в пулевой части URL-адреса. Это явно не соответствует арабским символам в URL-адресе. Поэтому вам нужно изменить свое правило, чтобы принять более или менее все, что ожидает особых символов:
RewriteRule ^([0-9]+)/([^/]+)/?$ article.php?id_art=$1 [NC,L]
Взято из этого вопроса, спрашивая аналогичную вещь. Как включить арабский слизень в htaccess?
Надеюсь это поможет.