我是相当新秀,想知道如何用.htaccess重写一个网址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。
答案 0 :(得分:0)
您无法重写...抱歉, 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进行搜索,语言相同
希望它有所帮助!