使用.htaccess重写多个变量的规则


Rewrite rule on multiple variables using .htaccess

我是相当菜鸟,想知道如何重写与。htaccess url http://www.example.com/index.php?lang=21&page=164说http://www.example.com/de/value-added-tax/,其中"de"指的是德语和"增值税"指的是页面id号64。我也有css和图像文件,需要继续工作(例如。/img/logo.png)。还有其他几个*.php文件也需要继续工作(例如search.php)。

你不能按照你的要求重写…对不起,Apache无法访问您的数据库。您不能要求它查询名称并返回id…

但也许你可以试试这样做:

Options +FollowSymlinks
RewriteEngine on
RewriteCond $1 !^(search'.php|img/|robots'.txt)
RewriteRule ^([a-z]{2})/([a-zA-Z0-9-]*)(/?)$ index.php?lang=$1&page=$2 [L]

这将适用于mydomain.tld/xx/zzz-zzzmydomain.tld/xx/zzz-zzz/这将重定向所有内容,除非以search.php, img/robots.txt

开头
  • xx = 2个小写字母
  • zzz-zzz =所有字母数字和-

这将与尾斜杠一起工作,并且在地址

末尾不带斜杠

但是你必须修改你的脚本来搜索页面名称而不是页面id,同样的语言

希望有帮助!