我知道有很多像我一样的问题,我希望你不要对我的问题投下来,因为我已经在没有任何解决方案的情况下挣扎了近一天,并希望有人在这里帮助我。 / 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表示无效页面,网址重写:
答案 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]