Я собираюсь создать небольшую инфраструктуру в стиле 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 становится замещаемым параметром, и поскольку такого файла не существует, сценарий размещается на той же странице, но на новом Строка запроса продолжает добавляться к исходному параметру.
Не могу помочь, но чувствую, что упускаю что-то глупое,
Надеюсь, я понял,