是否可以简化此htaccess文件? (这是一个关于数学的德国网站) 以下是htaccess文件的内容:
RewriteEngine on
RewriteRule ^testversion/formeln/quadrat-formeln-und-eigenschaften$ testversion/formeln/index.php?id=1 [PT]
RewriteRule ^testversion/formeln/rechteck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=2 [PT]
RewriteRule ^testversion/formeln/raute-formeln-und-eigenschaften$ testversion/formeln/index.php?id=3 [PT]
RewriteRule ^testversion/formeln/deltoid-formeln-und-eigenschaften$ testversion/formeln/index.php?id=4 [PT]
RewriteRule ^testversion/formeln/parallelogramm-formeln-und-eigenschaften$ testversion/formeln/index.php?id=5 [PT]
RewriteRule ^testversion/formeln/trapez-formeln-und-eigenschaften$ testversion/formeln/index.php?id=6 [PT]
RewriteRule ^testversion/formeln/sehnenviereck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=7 [PT]
RewriteRule ^testversion/formeln/gleichseitiges-dreieck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=8 [PT]
RewriteRule ^testversion/formeln/gleichschenkliges-dreieck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=9 [PT]
RewriteRule ^testversion/formeln/rechtwinkliges-dreieck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=10 [PT]
RewriteRule ^testversion/formeln/allgemeines-dreieck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=11 [PT]
RewriteRule ^testversion/formeln/kreis-formeln-und-eigenschaften$ testversion/formeln/index.php?id=12 [PT]
RewriteRule ^testversion/formeln/kreisring-formeln-und-eigenschaften$ testversion/formeln/index.php?id=13 [PT]
RewriteRule ^testversion/formeln/kreissektor-formeln-und-eigenschaften$ testversion/formeln/index.php?id=14 [PT]
RewriteRule ^testversion/formeln/ellipse-formeln-und-eigenschaften$ testversion/formeln/index.php?id=15 [PT]
RewriteRule ^testversion/formeln/regelmäßiges-sechseck-formeln-und-eigenschaften$ testversion/formeln/index.php?id=16 [PT]
RewriteRule ^testversion/formeln/würfel-formeln-und-eigenschaften$ testversion/formeln/index.php?id=17 [PT]
RewriteRule ^testversion/formeln/quader-formeln-und-eigenschaften$ testversion/formeln/index.php?id=18 [PT]
RewriteRule ^testversion/formeln/tetraeder-formeln-und-eigenschaften$ testversion/formeln/index.php?id=19 [PT]
RewriteRule ^testversion/formeln/oktaeder-formeln-und-eigenschaften$ testversion/formeln/index.php?id=20 [PT]
RewriteRule ^testversion/formeln/dodekaeder-formeln-und-eigenschaften$ testversion/formeln/index.php?id=21 [PT]
RewriteRule ^testversion/formeln/ikosaeder-formeln-und-eigenschaften$ testversion/formeln/index.php?id=22 [PT]
提前感谢您的提示和建议!
答案 0 :(得分:0)
我能想到的一件事是,使用路由器。如果有的话,任何请求都会出现:
testversion/formeln/(.*)-formeln-und-eigenschaften
我们可以将它们放到另一个文件中。所以你的.htaccess
会变成这样:
RewriteEngine on
RewriteRule ^testversion/formeln/(.*)-formeln-und-eigenschaften$ testversion/formeln/redirect.php?id=$1 [PT]
使用array_search()
获取redirect.php
:
<?php
$listFiles = array(
"",
"quadrat",
"rechteck",
"raute",
"deltoid",
"parallelogramm",
"trapez",
"sehnenviereck",
"gleichseitiges-dreieck",
"gleichschenkliges-dreieck",
"rechtwinkliges-dreieck",
"allgemeines-dreieck",
"kreis",
"kreisring",
"kreissektor",
"ellipse",
"regelmäßiges-sechseck",
"würfel",
"quader",
"tetraeder",
"oktaeder",
"dodekaeder",
"ikosaeder"
);
header("Location: index.php?id=" + array_search($_GET["id"], $listFiles))
?>
答案 1 :(得分:0)
您应该使用GET参数作为第二个标识符:
而不是:
RewriteRule ^testversion/formeln/quadrat-formeln-und-eigenschaften$ testversion/formeln/index.php?id=1 [PT]
...
...
你应该做点什么:
RewriteRule ^testversion/formeln/([a-z-]{1,})$ testversion/formeln/index.php?get_parameter=$1 [PT]
&#34;样方-formeln-UND-eigenschaften&#34;应该等于get_parameter
WHERE id
= 1的值。因此,将字段添加到表中,并为每一行提供唯一值。