URL-маршрутизация, когда имя файла правильно - PullRequest
0 голосов
/ 21 июня 2019

Я делаю фронт-контроллер, который направляет вас на правую сторону. НО я сделал это с 3 параметрами, теперь я хочу это с 4 параметрами. Но теперь это не работает, потому что я должен изменить последовательность параметров.

Здесь регулярное выражение (Bevor я изменил его):

RewriteRule ^([\w-]+)/?([\w-]+)/?([\w-]+)? index.php?lang=$1&rubrik=$2&seite=$3

Здесь регулярное выражение (после того, как я его изменил):

RewriteRule ^([\w-]+)/?([\w-]+)/?([\w-]+)/?([\w-]+)? index.php?lang=$1&rubrik=$2&unterrubrik=$3&seite=$4

Вот 3 способа, как конвертировать URL:

if($seite == null) {
  $filename = "{$rubrik}.html";
  if(in_array($filename, $filelist)) {
    $xmlFile = $dir . "/" . $filename;
  } else {
    echo "404";
  }
} else if(isset($seite) && isset($rubrik)){
  $filename = "{$rubrik}_{$seite}.html";
  if(in_array($filename, $filelist)) {
    $xmlFile = $dir . "/" . $filename;
  } else {
    echo "404";
  }
} else if(isset($seite) && isset($rubrik) && isset($unterrubrik)) {
  $filename = "{$rubrik}_{$unterrubrik}_{$seite}.html";
  if(in_array($filename, $filelist)) {
    $xmlFile = $dir . "/" . $filename;
  } else {
    echo "404";
  }
}

Сейчас работает только последний способ и, возможно, первый, но я не могу проверить это прямо сейчас.

...