переключить регистр (или если еще) загрузить файл с включением в SSI и QUERY_STRING?

В PHP я могу использовать случай переключения для использования простой функции:

<?php
switch($_SERVER['QUERY_STRING']) {

case 'example1':
include 'example1.php';
break;

case 'example2':
include 'example2.php';
break;

case 'example3':
include 'example3.php';
break;

default:
include 'example1.php';
break;
}
?>

Но как это выглядит для SSI?

Мой неработающий пример: (Примечание: SSI работает с моим Apache ;-))

<!--#if expr="$QUERY_STRING = 'example1'" -->
    <!--#include virtual="example1.html" -->
<!--#elif expr="$QUERY_STRING = 'example2'" -->
    <!--#include virtual="example2.html" -->
<!--#elif expr="$QUERY_STRING = 'example3'" -->
    <!--#include virtual="example3.html" -->
<!--#else -->
    <!--#include virtual="example1.html" -->
<!--#endif -->

Я получаю только сообщение об ошибке:

[an error occurred while processing this directive]

Заранее спасибо :-)


person user2422690    schedule 19.02.2021    source источник


Ответы (2)


Хорошо, я нашел следующее для .htaccess, и мой пример работает...

SSILegacyExprParser on

Но существует ли действующий код без использования этого фрагмента?

Источники:

person user2422690    schedule 19.02.2021

Попробуйте использовать

<!--#if expr="v('QUERY_STRING') = '/example1'" -->

Для этого вам не нужно включать устаревший синтаксический анализатор.

person David    schedule 28.02.2021