我是相当菜鸟,想知道如何重写与。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-zzz
和mydomain.tld/xx/zzz-zzz/
这将重定向所有内容,除非以search.php
, img/
或robots.txt
-
xx
= 2个小写字母 -
zzz-zzz
=所有字母数字和-
这将与尾斜杠一起工作,并且在地址
末尾不带斜杠但是你必须修改你的脚本来搜索页面名称而不是页面id,同样的语言
希望有帮助!