Хорошо, поэтому у меня есть этот сайт …. с URL-адресом
http://posnation.com/
и есть много страниц, которые мне нужно сохранить структуру url для …. как это
http://posnation.com/restaurant_pos http://posnation.com/quickservice_pos http://dev.posnation.com/retail_pos
доб ….
Проблема, которую я сейчас имею в том, что я хочу сохранить тот же URL-адрес для всех этих страниц, и я ищу наилучший подход. То, как он работает сейчас, – это сделать с кодом в miva, и мы выходим из miva … Я знаю, что могу создать папку с именем restaurant_pos или независимо от URL-адреса и создать там index.php. Этот подход будет работать но проблема в том, что мне нужно сделать это для 600 различных страниц, и я не хочу создавать 600 папок в лучшем подходе.
есть идеи
Вы должны использовать .htaccess для маршрутизации всех запросов в один файл, скажем, index.php и выполнять оттуда на основе запрошенного URL-адреса.
Следующий файл .htaccess в корне сервера отправит все запросы на ваш index.php:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?route=$1 [L] </IfModule>
Теперь вы должны проанализировать $ _REQUEST ['route'], чтобы определить, какой файл вы должны использовать. Вот пример, который будет служить странице, основанной на последнем элементе URL (например: pos):
<?php $parts = explode($_REQUEST['route']); if ($parts[count($parts) - 1] == 'pos') { include "pages/pos.php"; }
Определенно вам нужно написать свою собственную логику, выше всего лишь пример.
Надеюсь это поможет.
Обычно самый простой способ сделать это – создать файл .htaccess, который перенаправляет все запросы в /index.php
. В /.index.php
вы анализируете URL-адрес, используя, вероятно, $_SERVER['REQUEST_URI']
и включаете соответствующий контент.
Heres образец htaccess
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
В вашем /.index.php
выполните что-то вроде … (это просто ОЧЕНЬ простой пример)
require 'pages/' . $_SERVER['REQUEST_URI'] . '.php';
Теперь, если кто-то пойдет на http://posnation.com/restaurant_pos
pages/restaurant_pos.php
будет включен.
pages/restaurant_pos.php
может включать верхний и нижний колонтитулы.
<?php require( HEADER_FILE ) ?> restaurant_pos content <?php require( FOOTER_FILE ) ?>