Помогите со сшелами в .htaccess Они нужны для работы и одновременно мешают работе. Помогите навести порядок

Здрасте. Сразу говорю что в штакесе не силен. Прошу помочь.

Была задача сделать из url

https://exemple.com/product/nazvanie-tovara

чтобы получилось

https://exemple.com/nazvanie-tovara

Хозяин сайта нашел фрилансера, он сделал. По плану в товаре будут еще 2 страницы: фото и комментарии. Ссылки должны выглядеть так:

https://exemple.com/nazvanie-tovara - главная страница товара

https://exemple.com/nazvanie-tovara/photo - страница с фотографиями

https://exemple.com/nazvanie-tovara/comments - страница с комментариями

Оно всё работает с этим штакесом, НО! Отдельные файлы.php (например contacts.php, delivery.php и тд.) не работают пока ручками не пропишешь в конце слеш. Пожаловались на этого кодера, он сказал что для каждого файла надо писать вот такое:

RewriteRule ^aboutus/([^/]*)$ /aboutus.php [L]
RewriteRule ^payment/([^/]*)$ /payment.php [L]
RewriteRule ^contacts/([^/]*)$ /contacts.php [L]

Теперь в штакесе список строк с каждым файлом отдельно.

Ладно, черт с ним как бы, но! гугл не хватает sitemap.xml и robots.txt Он просто не видит роботс пхп когда открываешь его, а сайтмап видет (когда открываешь), но пишет что не удалось обработать. И так висит уже пол года...

Сам штакес:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.exemple.com$ [NC]
RewriteRule ^(.*)$ https://exemple.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://exemple.com/ [R=301,L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

RewriteRule ^(\w+)$ $1.php [NC]

RewriteRule ^cart/([^/]*)$ /cart.php [L]
RewriteRule ^contacts/([^/]*)$ /contacts.php [L]
RewriteRule ^my_comments/([^/]*)$ /my_comments.php [L]
RewriteRule ^myorder/([^/]*)$ /myorder.php [L]
RewriteRule ^payment/([^/]*)$ /payment.php [L]
RewriteRule ^delivery/([^/]*)$ /delivery.php [L]
RewriteRule ^input/([^/]*)$ /input.php [L]
RewriteRule ^order/([^/]*)$ /order.php [L]
RewriteRule ^404/([^/]*)$ /404.php [L]
RewriteRule ^search/([^/]*)$ /search.php [L]
RewriteRule ^login/([^/]*)$ /login.php [L]
RewriteRule ^registration/([^/]*)$ /registration.php [L]
RewriteRule ^exit/([^/]*)$ /exit.php [L]
RewriteRule ^cabinet/([^/]*)$ /cabinet.php [L]
RewriteRule ^orders/([^/]*)$ /orders.php [L]
RewriteRule ^activation/([^/]*)$ /activation.php [L]
RewriteRule ^aboutus/([^/]*)$ /aboutus.php [L]


RewriteRule ^([^/]*)/$ /product.php?url=$1 [L]
RewriteRule ^([^/]*)/photo/$ /photo.php?url=$1 [L]
RewriteRule ^([^/]*)/comments/$ /comments.php?url=$1 [L]
RewriteRule ^myorder/([^/]*)/$ /myorder.php?ordurl=$1 [L]

RewriteRule ^category/([^/]*)$ /category.php?cat=$1 [L]
RewriteRule ^category/([^/]*)/([^/]*)$ /category.php?cat=$1&page=$2 [L]

RewriteRule ^shop/([^/]*)$ /shop.php?subcat=$1 [L]
RewriteRule ^shop/([^/]*)/([^/]*)$ /shop.php?subcat=$1&page=$2 [L]

ErrorDocument 404 /404.php

И еще по ходу. При любой ошибке (битая ссылка) на 404 не идет, а открывает пустой product.php


Ответы (0 шт):