Не удалось найти решение этой проблемы в сети или на этих форумах - извинитесь, если я что-то пропустил!
Мои .htaccess RewriteRules работают хорошо - на моих веб-страницах имеются ссылки для поисковых систем и удобные для пользователя ссылки, а недействительные URL-адреса баз данных скрыты в фоновом режиме.
За исключением случаев, когда я добавил RewriteRule для добавления "www." перед URL-адресами, если пользователь их не вводил - чтобы убедиться, что в поисковых системах отображается только один. Вот что сейчас происходит, и я не могу понять, почему!
Моя дружественная структура URL для контента выглядит следующим образом, а в строке запроса базы данных используется первое «важное слово»:
www.example.com/importantword-nonimportantword/
.htaccess фрагмент:
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteOptions MaxRedirects=10
RewriteBase /
RewriteRule ^/$ index.php [L]
RewriteRule ^(.*)-(.*)/overview/$ detail.php?categoryID=$1 [L]
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [L]
Что происходит с тех пор, как я добавил последние 2 строки:
СЛУЧАЙ 1: типы пользователей (или клики) www.example.com/honda-vehicle/overview/
- работает правильно
- Они выводятся на правильную страницу, а в строке URL браузера указывается:
www.example.com/honda-vehicles/overview/
Случай 2: пользовательские типы example.com
- работает правильно
- Они перенаправляются на сайт www.example.com, а в строке URL браузера указывается:
www.example.com
Случай 3: пользовательские типы (или клики) example.com/honda-vehicles/overview/, т.е. без префикса "www"
- НЕ работает правильно
- Они переносятся на нужную страницу, но в строке URL браузера отображается недружественный URL:
www.example.com/detail.php?categoryID=honda
Я полагаю, что есть какая-то проблема с порядком RewriteRules, но он пытается изо всех сил попытаться логически пройтись по нему и выяснить это!
Любая помощь или указатели были бы очень признательны!