Сайта Я пытаюсь настроить имеет такую структуруфайла .htaccess вызывает рекурсию
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]
Как я могу сделать эту работу вещь? Спасибо.
Итак, у вас есть '/ var/www/html/shop/index.php'? Я уверен, что проблема в том, что у вас есть RewriteCond% {REQUEST_URI}! ^/Index \ .php', который говорит, что uri не запускается с index.php. где, как вы, вероятно, хотите, если он не заканчивается index.php '!/index \ .php $' – chris85
@ chris85, да, есть файл /var/www/html/shop/index.php. Я попытался заменить это условие на '!/Index \ .php $', но все равно получил ту же ошибку. – cre8eve
Я скопировал ваш код на свой сервер, и у меня не было проблем, которые, как я думал, у вас будет. Я удалил '// я поставил # перед ним, не получил никаких изменений' и добавил' re' в 'writeRule. * - [E = HTTP_AUTHORIZATION:% {HTTP: Авторизация}]'. После этого работает так, как ожидалось, это весь ваш файл? У меня есть '/ public_html/sfo' с' index.php' и '.htaccess' внутри, а затем'/public_html/sfo/abc/'с' index.php'. Это ваша структура? – chris85