Если у меня есть пользователь, обращающийся к моему сайту, например: www.example.com/testpage.html, есть ли способ получить "testpage.html" в виде строки, если testpage.html не существует? (Я хочу сделать пользовательские сообщения об ошибках 404 ..Обычно я хочу, чтобы пользователь зашел на страницу, которая не существует, скажем «Эта страница [pagename] не существует» и отобразил результат поиска с именем pagename в качестве запроса.)
2 ответа
Как правило, если вы хотите сделать что-нибудь полезное с динамическим контентом, вам потребуется какой-то интерпретируемый язык для обеспечения логики. Как вы не указали, я предполагаю, что вы будете использовать PHP.
В случае PHP у вас есть доступ к суперглобальному значению $ _SERVER, который, помимо прочего, предоставляет REQUEST_URI (например, $ _SERVER ['REQUEST_URI']), который именно то, что вы ищете. Затем вы можете построить некоторую логику в своем PHP-сценарии вокруг этой переменной, чтобы выполнять действия, основанные на определенных совпадающих URI.
Пример:
if ($_SERVER['REQUEST_URI'] == "/testpage.html") {
// Do something here
}
Конечно, вы могли бы также полюбить регулярные выражения, операторы case и т.д.
Похоже, ваш реальный вопрос: "Как сделать пользовательскую страницу 404", да? Это будет зависеть от веб-сервера.
Что касается извлечения частей URL, если вы используете PHP, тогда вам нужна parse_url()
. В Perl вы бы использовали модуль URI