.htaccess不使用阿拉伯字母

问题描述 投票:0回答:1

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

我正在开发一个多语言网站,当用户输入阿拉伯语标题时,自动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为工作页面,没有URL重写:

Click Here用于不工作的页面,带有URL Rewrite:

.htaccess
1个回答
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]
© www.soinside.com 2019 - 2024. All rights reserved.