Веб-сайт, который я пытаюсь настроить, имеет такую структуру
website.com
---category1
------subcategory1
------subcategory2
------subcategory3
------subcategory4
---category2
------subcategory1
------subcategory2
------subcategory3
------subcategory4
---category3
------subcategory1
------subcategory2
------subcategory3
------subcategory4
---category4
------subcategory1
------subcategory2
------subcategory3
------subcategory4
Когда я посещаю example.com - он показывает мне все 4 категории по назначению. Когда я выбираю любую из категорий - страница перенаправляется на example.com/shop/index.php/index.php/index.php... Корневая папка документа apache -/var/www/html/shop
Однако, когда я явно перехожу на example.com/categoryN, страница появляется. Та же проблема с подкатегориями.
Вот файл.htaccess
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteBase / //I put # in front of it, got no change
writeRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Как я могу заставить эту работу работать? Благодарю.
Проблема заключалась в сломанных URL-адресах в коде.
/var/www/html/shop/index.php
? Я почти уверен, что проблема в том, что у вас естьRewriteCond %{REQUEST_URI} !^/index\.php
который говорит, что если URI не начинается с index.php, добавьте его. где, как вы, вероятно, хотите, если он не заканчивается на index.php!/index\.php$
!/index\.php$
но все равно получил ту же ошибку.