我如何将带有俄语 slug 的 url 重定向到特定的 php 页面。例如我有这个网址。
http://www.example.com/основной-момент.htm
并且想要重定向到 .htaccess 中的这个
http://www.example.com/category.php?slug=<russian slug>
最佳答案
如果您的服务器允许,您可以对 .htaccess
文件中的特定页面尝试类似的操作:
RewriteEngine On
RewriteRule ^основной-момент.htm$ category.php?slug=ru
在正则表达式中,如果您的服务器启用了字符集,您应该能够使用字符范围:
RewriteRule ^([A-Яа-я-]+)\.htm$ category.php?slug=ru
要捕获短语,您可以使用以下内容(就像英语一样):
RewriteRule ^([A-Яа-я-]+)\.htm$ category.php?slug=$1
另一种方法是检测语言
#For users with Russian as their primary browsing language
RewriteCond %{HTTP:Accept-Language} ^ru [NC]
RewriteRule .* category.php?slug=ru
此外,如果您在服务器上使用动态语言,您应该能够使用 REQUEST_URI
var 来解析和确定预期语言,因为 Apache 提供内容和编程语言(例如 PHP 或Perl) 可以通过解析做更多事情。
关于regex - 匹配俄语的正则表达式,允许 .htaccess 中的所有西里尔字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16978182/