2015-08-08 3 views
0

У меня есть следующий код:Перенаправление с Стройный Framework

$app->get('/category/:name', function($name){ 
    //the render files are found under the templates folder 
header('Location: searchPage.php?crs_category=$name'); 
}); 

Проблема заключается в том, что, когда я печатаю /category/business его просто приземляется на пустой странице. Я не хочу отображать страницу, потому что я не могу точно отобразить searchPage.php? Crs_category, потому что это представление как шаблон, и для включения в переменную есть работа. Я просто хочу перейти на эту страницу, сохраняя чистый URL. По существу, перенаправление на эту страницу в фоновом режиме с URL остается.

Заранее спасибо.

ответ

1

Предполагая, что вы используете Apache в качестве веб-сервера, а не могли бы вы просто переписать URL в .htaccess:

RewriteRule ^category/(.*)$ searchPage.php?crs_category=$1 [L,NC,QSA] 

..or если вы хотите реальный редирект

RewriteRule ^category/(.*)$ searchPage.php?crs_category=$1 [L,NC,R=301] 

PS Если вы настаиваете делать это в Слима, вы можете попробовать

$app->get('/category/:name', function($name) use ($app) { 
    $app->response->redirect('/searchPage.php?crs_category='.$name, 303); 
}); 

источник: http://docs.slimframework.com/response/helpers/#redirect

+0

благодарит за ответ. Я избегаю использования htaccess, потому что я часто сталкиваюсь с проблемами. Или он не работает должным образом в localhost или/и не работает на хосте. Для ответа Slim я попробовал вашу версию и получил следующую ошибку. Сообщение: Неопределенная переменная: app – John

+0

Простите мою опечатку, я отредактировал фрагмент, он должен иметь 'use ($ app)' для импорта переменной $ app в область функций (при условии, что вы создали экземпляр своего Slim App для этой переменной ('$ app = new \ Slim \ Slim();') –

+0

спасибо вам последний запрос, как я смогу сохранить url в масках до чистого? – John

Смежные вопросы