Использование .htaccess для изменения показа каталога в URL-адресе

Я пытаюсь изменить URL-адрес, который отображается в адресной строке. Код в .htaccess:

RewriteEngine On # Turn on the rewriting engine RewriteRule ^Home?$ index.php [NC,L] RewriteRule ^about-us?$ aboutus.php [NC,L] RewriteRule ^contact?$ contact.php [NC,L] RewriteRule ^products?$ products.php [NC,L] RewriteRule ^products/led-bulb?$ led-bulb.php [NC,L] 

Объясните: вся страница в том же каталоге и 4 правила первого переписывания одобрены, но последнее правило перезаписи имеет проблему. (Каталог продуктов / led-bulb не существует). Проблема: последнее правило при загрузке [led-bulb.php] не загружает ни одного стиля и показывает страницу без какого-либо стиля и дизайна.

Ваше последнее правило также отлично работает, но вы сталкиваетесь с проблемой отображения стиля / изображения из-за использования относительных путей.

Вы можете добавить это чуть ниже <head> раздела HTML вашей страницы:

 <base href="/" /> 

так что каждый относительный URL-адрес будет удален с этого базового URL-адреса, а не с URL-адреса текущей страницы.

Кроме того, ваши правила должны делать необязательную дополнительную привязку:

 RewriteEngine On RewriteRule ^Home/?$ index.php [NC,L] RewriteRule ^about-us/?$ aboutus.php [NC,L] RewriteRule ^contact/?$ contact.php [NC,L] RewriteRule ^products/?$ products.php [NC,L] RewriteRule ^products/led-bulb/?$ led-bulb.php [NC,L]