php-сайт, который отображает содержимое страницы на основе URL? - PullRequest
2 голосов
/ 02 января 2012

Я хотел бы создать сайт с поддержкой php, для отображения которого требуется только один php-документ.Это довольно сложно объяснить, поэтому позвольте мне постараться изо всех сил.

Некоторые веб-сайты используют систему на основе каталогов, такую ​​как:

web.URL.com/index.htm
web.URL.com/about.htm
web.URL.com/blog.htm

и так далее.Это включает в себя создание текстового файла для каждой страницы.

Итак, цель здесь состоит в том, чтобы создать одну страницу, которая действует как фрейм и отображает содержимое на основе URL-адреса, поэтому она будет действовать как описанный выше метод,но это только одна страница.Я почти уверен, что вы можете сделать это, но не знаете, как правильно это произнести или какой словарь использовать при вводе в Google.

Некоторые вопросы, которые могут у вас возникнуть:

В: Почему бы не использовать такие параметры:

web.url.com?pgid=some+page

A: Я бы хотел, чтобы URL был максимально чистым, когда речь заходит о наборе URL посетителем.Например, это гораздо легче запомнить:

web.url.com/about

, чем это:

web.url.com?p=about 

Q: Wordpress ??

A: Мы хотим, чтобы у нас были свои вещи.Wordpress хорош, но не для нашего проекта.

Q: JQuery?

A: PHP, пожалуйста.

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

Ответы [ 4 ]

5 голосов
/ 02 января 2012

С PHP один , я не думаю, что это возможно. Тем не менее, вполне вероятно, что ваш веб-сервер работает под управлением Apache, что упрощает эту задачу * , превращая ваши красивые URL-адреса в некрасивые URL-адреса (со строками запроса), которые может обрабатывать ваш PHP-скрипт. Ваши посетители понятия не имеют, что это происходит; они не перенаправлены или что-то еще.

Я настоятельно рекомендую вам взглянуть на этот урок и его продолжение . Второй учебник содержит информацию, необходимую для этой задачи (начиная с в этом разделе ), но я настоятельно рекомендую прочитать первый учебник, чтобы глубже понять, что вы делаете.

По сути, эти руководства научат вас, как указывать (уродливые, страшные) правила перезаписи URL в файле с именем .htaccess. Эти правила преобразуют (или «переписывают») ваши красивые URL-адреса в менее красивые, которые может обрабатывать ваш PHP-скрипт.

Например, yoursite.com/about фактически будет обращаться к yoursite.com/index.php?page=about, или что-то в этом роде.

Для примера кода приведен фрагмент, скопированный и вставленный на 95% из этого урока :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

Как объясняет эта ссылка, он будет пересылать все запросы в index.php, если только не запрашивается фактический файл или каталог.

1 голос
/ 02 января 2012

Используйте RewriteRule на основе .htaccess.Затем вы можете перенаправить все несуществующие файлы (внутри Apache) на общий index.php с запрошенным путем в виде строки запроса ?p=about.Перенаправление обрабатывается внутри, поэтому http://example.com/about - это внешний URL-адрес этой страницы.

0 голосов
/ 02 января 2012

Использовать PHP URL rewrite . PHP включит часть вашего URL в строку запроса

0 голосов
/ 02 января 2012

Вы можете иметь оператор switch, проверяющий значения $ _GET и выводящий страницу на основе предоставленного параметра.Также вам нужно будет добавить некоторые правила mod_rewrite для маршрутизации этих запросов.

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