Apache mod_rewrite

DIGIUS

Новичок
В общем почти дописал чпу (SEF) для сайта и столкнулся с довольно популярной проблемой (уже гуглил и проверял выдаваемые результаты не работает), с тем что контент на странице на которую осуществлён переход через чпу (с GET аргументами) отображается с учетом аргументов в URL то есть вместо такого src: image/IMG_1468.jpg
на странице приходит: адрес и аргументы из запроса/image/IMG_1468.jpg
Со скриптами и стилями та же история.
Содержимое .htaccess:

RewriteEngine On
RewriteRule ^Каталог/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)$ /catalog.php?category=$2&page=$3 [L,QSA]
RewriteRule ^Товар/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)$ /page.php?id=$2 [L,QSA]
RewriteRule ^Главная/?$ index.php
RewriteRule ^Категории/?$ category.php
RewriteRule ^Магазины/?$ shop.php
RewriteRule ^Новости/?$ news.php
RewriteRule ^Условия_работы/?$ work.php
RewriteRule ^Наши_представители/?$ representatives.php
RewriteRule ^Оптовый_заказ/?$ order.php
RewriteRule ^Контакты/?$ contact.php
RewriteRule ^Написать_нам/?$ send0.php

Подскажите идиоту что нужно для исправления этой проблемы?
 
Последнее редактирование:

WoLFiks

Не курю...
А почему не сделать RewriteRule ^любое$ главный.php
и потом в главный.php уже рулить всем этим богатством?
 

DIGIUS

Новичок
А почему не сделать RewriteRule ^любое$ главный.php
и потом в главный.php уже рулить всем этим богатством?
Я дуб дубом в регулярках, недавно узнал про вывод из бд, думал его сделать но потом понял что это будет нецелесообразно ради пары страниц.
Как я понял можно сделать так чтобы всё отсутствующие ссылки на контент mod_rewrite заменял index.php + добавлением пути отсутствующего файла, подскажите пожалуйста как такое реализовать.
На случай тех кто найдёт эту статью из интернета и озадачен таким же вопросом вот подробная инструкция по настройке чпу (Sef) с базой данных:
 

splashcoder

Новичок
А как переадресовать все страницы кроме главной и некоторых избранных?
Делаю так
RewriteRule !([index|captcha])\.php.*$ target.php?file=$1
captcha.php и index.php открываются нормально, остальные переадресуются на target.php, хорошо... но как сделать чтобы главная страница сайта без параметров также открывалась без переадресации?
И ещё: почему в $1 не записывается название открываемого файла?
 

DIGIUS

Новичок
Это колхоз ин не панацея, но вот изучайте и доробатывайте.
RewriteEngine on
RewriteBase /
RewriteRule ^Главная/?$ index.php
RewriteRule ^Каталог/?$ category.php
RewriteRule ^Магазины/?$ shop.php
RewriteRule ^Новости/?$ news.php
RewriteRule ^Условия_работы/?$ work.php
RewriteRule ^Наши_представители/?$ representatives.php
RewriteRule ^Оптовый_заказ/?$ order.php
RewriteRule ^Контакты/?$ contact.php
RewriteRule ^Написать_нам/?$ send0.php
RewriteRule ^Ошибка_404/?$ 404.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^Товар/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)/(.*)$ $2/$3 [R=301,L]
RewriteRule ^Каталог/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)/([A-Za-z0-9_]+)/(.*)$ $3/$4 [R=301,L]
 
Сверху