Отображать контент на основе удаленного URL в php? - PullRequest
2 голосов
/ 06 января 2011

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

Можно ли отобразить разныесодержание на основе их URL в моих файлах шаблонов в php?Если да, то как?

Не знаю, имеет ли это значение, но другой сервер использует coldfusion, а не php.

Ответы [ 4 ]

1 голос
/ 06 января 2011

Файл php может проверять параметр в URL, например, template.php? Url = stackoverflow, поэтому в файле php вы можете проверить

if ($_GET['url']=='stackoverflow'){
    echo "Stack Overflow template";
}else if ($_GET['url']=='lol'){
    echo "Another template";
}else{
    echo "error";
}

Edit: ТеперьСервер, получающий контент, просто должен добавить этот параметр в URL, и он получает нужный шаблон.Вы можете установить шаблон по умолчанию, если параметр не указан.

0 голосов
/ 07 января 2011

Есть две очевидные возможности того, как удаленный сервер присоединяет ваш код, которые приходят на ум. Первый - использовать JavaScript, чтобы дать клиенту команду выйти и получить ваш контент, а затем записать его в соответствующие места. Это должно быть довольно очевидно при просмотре исходного кода HTML, сгенерированного их приложением.

Более вероятный сценарий, на мой взгляд, заключается в том, что они используют CFHTTP для извлечения контента и его непосредственного внедрения. CFHTTP имитирует более широкий вызов - это стандартный запрос HTTP 1.1. Он не будет содержать ссылку на URL, запрошенный на их сервере. Если вы не сможете убедить их добавить идентификационную информацию в запрос, все, что вы сможете сказать на своем сервере, - это то, что запрос поступил от CF (путем проверки удаленного агента).

0 голосов
/ 06 января 2011

Не совсем уверен, что я вас понимаю, но вы, безусловно, можете отображать различный контент на основе URL.

$remote_content = file_get_contents($someurl);
switch $someurl
    case 'www.google.com':
           display_google_content();
           break;
    case 'www.microsoft.com':
           throw(BSOD);
           break;
    default:
           display_standard_content();
}
0 голосов
/ 06 января 2011

Возможно ли, чтобы их URL содержал переменную get, такую ​​как www.theirwebsite.com/?chrome=red? тогда ваш файл может прочитать это и проанализировать различные темы на основе значения переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...