ЧПУ и .htaccess

Dmitry_82

Новичок
Скажу сразу, что я почти в этом не разбираюсь.
Необходимо сделать ЧПУ. Урлы типа http://domein.com/model.php?id=(название латиницей) нужно перевести в урлы типа http://domein.com/model/(название латиницей).
В файле .htaccess выглядит так полностью:

PHP:
php_flag register_globals on
ErrorDocument 404 /error.html

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} ^domein.com

RewriteRule (.*) http://www.domein.com /$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://domein.com / [R=301,L]

RewriteRule ^ model/(.+)$ model.php?id =$1 [R]
И вот если ставить ключ [R] в последней строке, то редирект выполняется, т.е. в поле адреса забиваешь http://domein.com/model/a страница находиться но при этом урл меняется на прежний http://domein.com/model.php?id=a И когда из http://domein.com/search.php идет обращение к http://domein.com/model.php?id=a, урл сам не меняется на http://domein.com/model/a , хоть ты тресни.
С ключами отличными от [R]: либо [L], либо [QSA], либо их комбинации или же совсем без ключа; страница http://domein.com/model/a находиться и урл фиксируется, так что пользователь может его видеть. НО как и в случае с [R], урл сам не меняется на http://domein.com/model/a. И самое страшное что не грузятся картинки и невозможно перейти на другие ветки сайта, даже если менять img src="images/img.jpg" на img src=" domein.com/images/img.jpg" в итоге картинка имеет путь http://domein.com/model/domein.com/images/img.jpg, также и все страницы имеют ссылки вида http://domein.com/model/index.php вместо http://domein.com/index.php при обращении из изменённого урла к index.php.

Наверно немного запутанно, но смысл думаю понятен. Задача сделать рабочими ЧПУ, так что бы новые урлы формировались из уровня выше и при этом сохранялись в поле адреса. И что бы нормально грузились все картинки и пути были соответственно рабочими.

Повторюсь, я профан в этом деле и делю только первые шаги в познании PHP. Так что просьба громко не смеяться. Буду благодарен за любой ответ.
 

Andykalinin

Новичок
Не совсем понял смысл этого правила.
PHP:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://domein.com / [R=301,L]
 

Andykalinin

Новичок
PHP:
RewriteRule ^ model/(.+)$ model.php?id =$1 [R]
:)))
PHP:
RewriteRule ^model\.php?id=(.+)$ /model.php/$1 [R=301, L]
А вообще двиг должен сам формировать ЧПУ.
 

zerkms

TDD infected
Команда форума
Dmitry_82
Ссылка ссылкой, но всё таки в чём сакральный смысл этого условия
PHP:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
?

Что кардинально нового оно добавляет для правила, идущего после него?

Вообще говоря советы из того поста сомнительные и местами недальновидные.

Это вот:
PHP:
RewriteCond %{HTTP_HOST} ^yoursite.ru 
RewriteRule (.*) http://www.yoursite.ru/$1 [R=301,L]
правильно было бы записывать вот так:
PHP:
RewriteCond %{HTTP_HOST} ^(yoursite.ru)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L,QSA]
 
Сверху