2015-07-01 4 views
0

я 404 НЕ НАЙДЕН, когда у меня есть UTF-8 (арабский) в моем пробкового URLRegex UTF-8 арабский

есть мой код в PHP файле:

'slug' => '[A-Za-z0-9\_-]+' 

и это в файл .htaccess :

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

#Charset 
AddDefaultCharset utf-8 

#Protect - DOS 
LimitRequestBody 10000000 

#Index Protect 
Options All -Indexes 

<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

# Redirect Trailing Slashes... 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

RewriteCond %{THE_REQUEST} ^[a-zA-Z0-9\-_]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [R=301,L] 

когда я ссылку как: www.test.com/ تست сервер возврата 404 не найден и когда я использую

'slug' => '[ا-یa-zA-Z0-9\-_]+' 

и то же самое для htaccess у меня есть перенаправление петли!

ا-ی а-г آ-ی A-Z

+0

Это похоже только на htaccess, а не на preg_match или php. Это правильно или есть еще код? – chris85

+0

Я обновил сообщение! полный код htaccess! –

+0

preg_match - это функция PHP, использующая регулярное выражение для сопоставления строки, http://stackoverflow.com/tags/preg-match/info. Это выглядит как проблема с регулярными выражениями в вашем файле htaccess. Где '' slug '=>' [ا-ی a-zA-Z0-9 \ -_] + ''? – chris85

ответ

0

Попробуйте изменить класс персонажа часть регулярного выражения для [\p{L}\p{N}\p{Pd}_]

\p{L} матчей ничего юникода, что квалифицируется как письмо, но не подчеркивает

\p{N} матчи все, что выглядит как номер

\p{Pd} - Пунктуация, которая включает дефис.

См here для более на Unicode регулярных выражений

+0

не работает снова :(404 нет found: ( –

0

Вы можете использовать ([^/]+), это работает!
Этот шаблон позволяет все, что не является косой чертой.

+2

Хотите увеличить свой код только ответ с объяснением? – Yunnosch

+0

если это успех, вы можете комбинировать или делать пользовательские регулярные выражения для слэшей ... :) –

Смежные вопросы