.htaccess不使用阿拉伯语字母

时间:2018-03-02 08:53:11

标签: .htaccess

我知道有很多像我一样的问题,我希望你不要对我的问题投下来,因为我已经在没有任何解决方案的情况下挣扎了近一天,并希望有人在这里帮助我。 / p>

我正在开发一个多语言网站,当用户输入阿拉伯语标题时,自动urlkey将有阿拉伯字母。

我的.htaccess文件正在重写所有英文网址,没有任何问题,但是当有阿拉伯字母时,页面就会中断,我收到了404 Not Found Page

在我的.htaccess文件内容下面找到,我希望你能帮助我

# -------------------------------------------
# | Safe URL                                |
# -------------------------------------------
Options +FollowSymLinks
Options All -Indexes
RewriteEngine On

# -------------------------------------------
RewriteRule ^home/([a-z]+)$                      index.php?lang=$1                                      [L,NC]
RewriteRule ^home                                   index.php                                               [L,NC]

{Tries Goes Here}
RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$                              get-page-contents.php?lang=$1&key1=$2&key2=$3&%{QUERY_STRING}           [L,NC]
RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)$                                              get-page-contents.php?lang=$1&key1=$2&%{QUERY_STRING}                   [L,NC]

# -------------------------------------------
RewriteCond %{REQUEST_URI} !^/(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

ErrorDocument 404 /404.html

正如您在我的.htaccess文件中看到的那样,我已经写了{Tries Goes Here}行,这是我尝试过以下几行的地方,每次一行但没有效果

RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$            get-page-contents.php?lang=$1&key1=$2&key2=$3&key3=$4&%{QUERY_STRING} [L,NC]
RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([أ-يa-zA-Z0-9٠-٩_.-]+)$    get-page-contents.php?lang=$1&key1=$2&key2=$3&key3=$4&%{QUERY_STRING} [L,NC]
RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9%-]+)$         get-page-contents.php?lang=$1&key1=$2&key2=$3&key3=$4&%{QUERY_STRING}   [L,NC]
RewriteRule ^([a-z]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9%-]+)$         get-page-contents.php?lang=$1&key1=$2&key2=$3&key3=$4&%{QUERY_STRING}   [L,NE]
工作页面的

Click Here,没有网址重写:

Click Here表示无效页面,网址重写:

1 个答案:

答案 0 :(得分:0)

从这个答案How to enable arabic slug in htaccess?

尝试此规则:

RewriteRule ^([a-z]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([^/]+)$    get-page-contents.php?lang=$1&key1=$2&key2=$3&key3=$4&%{QUERY_STRING} [L,NE]