Динамическая перезапись URL для нескольких страниц, без маршрутизатора, без Front Controller для моей собственной PHP Framework - PullRequest
0 голосов
/ 23 мая 2019

Я собираюсь создать небольшую инфраструктуру в стиле MVC для моего последнего года, и в настоящее время я пытаюсь выполнить базовую настройку перезаписи URL.

Я стараюсь избегать использования Front Controller и вместо этого хочу создавать отдельные страницы. Позже я создам класс, который взаимодействует с дБ.

Я прошу прощения за вопрос Small Detour: я не могу не чувствовать, что использование фронтального контроллера приведет к снижению производительности, сохраняя все в одном месте впереди и имея множество сложных контроллеров для каждой страницы и повторяя много За последние несколько дней я прочитал множество статей, и, похоже, мнения разделились. Это правда?

В любом случае вернемся к основному пункту переписывания:

У меня есть следующие страницы для демонстрационных целей: индекс, товары, товар, подпро

Вот код для всех скриптов:

//Index Page:
<?php   
echo "Index Page";
echo "<br>";
echo "Base name check: ".$_SERVER['PHP_SELF'];
?>
<p><a href="products">Products</a></p>

//Products.php:
<?php 
echo "Products Page";
echo "<br>";
echo "Base name check: ".$_SERVER['PHP_SELF'];
?>
<p><a href="product/1">Product 1</a></p>
<p><a href="product/2">Product 2</a></p>
<p><a href="product/3">Product 3</a></p>
<p><a href="product/4">Product 4</a></p>

<p><a href="home">Home</a></p>

//Product.php:
<?php
echo "PRODUCT PAGE!";
echo "<br>";
if (isset($_GET['url'])) {
echo "Product ".$_GET['url'];
}else{
echo "No Product Selected";
}
?>
<a href="subProduct/4566">Sub Product</a>

//SubProduct.php:
<?php  
echo "Sub Product";
echo "Blah!";
?>

#HTACCESS CODE
RewriteEngine on

RewriteBase/Web_App_Development_2/
ServerSide/ServerConfig/MP-  HTAccess-2

RewriteCond %{REQUEST_FILENAME} home$
RewriteRule ^(home)$ index.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9]+)/?(.+)?$ $1.php?url=$2 [QSA,L]

#Expected Output:
#www.example.com/products/1/4566

Проблема: Проблема Htaccess - проблема, когда я щелкаю ссылку с примером параметра строки запроса Страница

для следующей страницы параметр становится базовым, и в результате следующего щелчка ссылки параметр.php становится замещаемым параметром, и поскольку такого файла не существует, сценарий размещается на той же странице, но на новом Строка запроса продолжает добавляться к исходному параметру.

Не могу помочь, но чувствую, что упускаю что-то глупое,

Надеюсь, я понял,

...