.htaccess不使用阿拉伯字母
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess不使用阿拉伯字母相关的知识,希望对你有一定的参考价值。
我知道有很多像我这样的问题,我希望你不要对我的问题进行投票,因为我已经在没有任何解决方案的情况下挣扎了近一天,希望有人在这里帮助我。
我正在开发一个多语言网站,当用户输入阿拉伯语标题时,自动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:
答案
从这回答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]
以上是关于.htaccess不使用阿拉伯字母的主要内容,如果未能解决你的问题,请参考以下文章
apache_conf 强大的.htaccess片段,需要在最顶层使用RewriteEngine On
apache_conf 针对.htaccess的安全调整片段。
2021-12-24:划分字母区间。 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 力扣763。某大厂面试