【发布时间】:2019-11-13 19:45:01
【问题描述】:
我已经在 PHP 中构建了一个 URL-Routing FrontController。一切正常,但现在我发现一个错误,如果我有更多的参数然后 2 它不起作用,例如:
此网址有效:
"www.comelio.com/business-intelligence/anleser/"
但是这个 URL 不起作用:
"www.comelio.com/business-intelligence/data-mining/anleser/"
我的重写规则:
RewriteRule ^([\w-]+)/?([\w-]+)/?([\w-]+)/?([\w-]+)? index.php?lang=$1&rubrik=$2&unterrubrik=$3&seite=$4
这是我的路由 if-else 代码:
if($seite == null) {
$filename = "{$rubrik}.html";
$xdmvalue = $saxonProc->createAtomicValue($filename);
$xsltProc->setParameter("articlePfad", $xdmvalue);
if(in_array($filename, $filelist)) {
$xmlFile = $dir . "/" . $filename;
$xsltProc->setSourceFromFile($xmlFile);
} else {
echo "404";
}
} else if(isset($seite) && isset($rubrik)){
$filename = "{$rubrik}_{$seite}.html";
$xdmvalue = $saxonProc->createAtomicValue($filename);
$xsltProc->setParameter("articlePfad", $xdmvalue);
if(in_array($filename, $filelist)) {
$xmlFile = $dir . "/" . $filename;
$xsltProc->setSourceFromFile($xmlFile);
} else {
echo "404";
}
} else if(isset($seite) && isset($rubrik) && ($unterrubrik)){
$filename = "{$rubrik}_{$unterrubrik}_{$seite}.html";
$xdmvalue = $saxonProc->createAtomicValue($filename);
$xsltProc->setParameter("articlePfad", $xdmvalue);
if(in_array($filename, $filelist)) {
$xmlFile = $dir . "/" . $filename;
$xsltProc->setSourceFromFile($xmlFile);
} else {
echo "404";
}
}
在我编写此代码之前,只有第二个参数有效,现在只有第三个参数有效,例如现在有效:
"comelio.com/business-intelligence/data-mining/anleser"
这不起作用:
"comelio.com/business-intelligence/anleser"
【问题讨论】:
标签: php .htaccess url url-rewriting front-controller