url — строка маскирования php с другой строкой

Есть ли способ маскировки строки из URL с другой строкой из переменной?
У меня есть эти переменные

$keyword = 'stackoverflow';
$foo = $keyword;
$bar = 'main-category';

то, что я хочу показать в браузере: http://example.com/main-category/page=2
но этот URL сделает запрос к: http://example.com/$keyword/page=2

Пожалуйста, не говорите мне, что это может быть достигнуто с помощью htaccess, потому что ключевое слово динамически меняется, а также это на стороне клиента, не все пользователи могут изменять htaccess / nginx.conf

изменить: URL-адрес выше, просто как иллюстрация, моя точка зрения
как вызвать переменную $ keyword с переменной $ bar

я попробовал с

$foo = $bar
echo $foo

это действительно повторяет ‘main-category’, но не передает реальную переменную $ foo

Спасибо.

0

Решение

У меня есть решение для вас, но путь, основанный на htaccsess.

Вы возьмете ключевое слово в параметрах get.

Выполните эти шаги:

1) Добавьте этот RewriteRule в файл .htaccsess.

Тест RewriteRule /(.*)/ page = 2? $ Test2.php? Ключевое слово = $ 1 [L]

2) Создайте test2.php в вашей главной папке (вы можете свободно называть файл, обычно разработчики используют index.php для обработки всех таких запросов)

И поместите эти коды на страницу

$keyword = htmlscpecialchars($_GET['keyword']);

echo "The keyword is "$keyword;

Таким образом, вы получите ключевое слово. Не забывайте, что ваш URL будет http://example.com/test/{ключевое слово} / page = 2. Вы можете изменить или удалить «тестовую» часть любезно.

С наилучшими пожеланиями .

0

Другие решения

До сих пор неясно, в каком контексте вы хотите применить другую переменную. Или почему.

В любом случае, прежде чем кто-либо упомянет о варварах, вам, вероятно, понадобится простая карта:

$map = array(
"main-category" => "stackoverflow",
'$keyword' => "bazbazbaz",
);
$bar = "main-category";
$foo = $map[$bar];

Что позволяет «переписывать» ключевые слова или переменные-заполнители в контексте приложения.

0

По вопросам рекламы [email protected]