Я думаю, что вы имеете в виду статический контент и динамический контент.
Если вы используете URL-адреса с строкой запроса, то есть http://domain.com/index.php?site=foo
, разработчик обычно создает статический кадр вокруг динамического содержимого. Это означает, что такие вещи, как заголовок HTML, логотип, навигация, нижний колонтитул и другие вещи, являются статическими, и ему не нужно хранить эту информацию в каждом файле. Содержимое затем загружается из разных файлов, которые просто должны содержать контент.
Один отрицательный сайт, или, по крайней мере, многие люди так думают, что ваши URL-адреса выглядят не так красиво и не так хорошо читаются людьми и поисковыми пауками. Методом наложения статических URL-адресов на динамические URL-адреса является использование mod_rewrite и файла .htaccess. Вы можете сказать веб-серверу, что определенные местоположения из вашего URL-адреса эквивалентны URL-адресу с строкой запроса. Например, http://domain.com/list/
является эквивалентом http://domain.com/index.php?site=list
.
Динамический контент легко достигается, как здесь. Вы можете инициировать загрузку динамического содержимого, используя URL-адрес с строкой запроса, например. http://domain.com/index.php?site=list
.
<!doctype html>
<head>
<!-- html header -->
</head>
<body>
<div id="navigation>
<!-- your navigation -->
</div>
<div id="content">
<?php
switch($_GET['site'])
{
case "list":
// serve list content
include("list.php");
break;
default:
// server default content
include("home.php");
break;
}
?>
</div>
<div id="footer">
<!-- your footer -->
</div>
</body>
</html>
switch()
функция делает Prope для значения $_GET['site']
и служит содержание, основанное на матче случаев.
Пример файла .htaccess можно найти здесь, в котором используются URL-адреса без завершающих слэшей: (вам просто нужно убедиться, что mod_rewrite активен для вашего Apache (a2enmod rewrite @ linux) или вашего аналогичного веб-сервера. пишут, что в файл конфигурации ВХост.)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} (.*)[/\?]$
RewriteRule ^(.*)[/\?]$ $1 [L,R=301]
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^([^\./]+)/([^\./]+)/([^\./]+)/([^\./]+)$ index.php?section=$1&sub=$2&sub2=$3&sub3=$4 [L]
RewriteRule ^([^\./]+)/([^\./]+)/([^\./]+)$ index.php?section=$1&sub=$2&sub2=$3 [L]
RewriteRule ^([^\./]+)/([^\./]+)$ index.php?section=$1&sub=$2 [L]
RewriteRule ^([^\./]+)$ index.php?section=$1 [L]
</IfModule>
позволяет скрыть код процесса от отдельных страниц означает, что вы можете загрузить ваши общие шаблонные/заголовки/нижние колонтитулы и т.д. в index.php и ваши дополнительные страницы содержат только код, соответствующий этим страницам. также упрощает работу, если вы хотите сделать красивый/чистый URL-адрес, если хотите в будущем. – Dave
Я вижу, так что это полезно, когда вы хотите взглянуть на свой код и не нуждаетесь в изменении шаблона/верхних колонтитулов. Будет ли также легче изменить стиль сайта, если я добавлю возможность изменять стили? Между прочим, почему каждый человек отрицает мой вопрос? – Blogger
Да, если правильно использовать, очевидно, что-либо, что может быть плохо реализовано, но если вы используете право, вы можете сделать весь ваш проект более разумным и в глубине души, как все фреймворки работают с их симпатичным URL-адресом, всегда есть основной файл index.php, который затем загружает включены методы/представления и т. д., основанные на запрошенном довольно url – Dave