Как правильно установить условия в файле htaccess?
Я пытался целую вечность решить эту проблему, которая у меня есть.
На моем сайте я переписал несколько ссылок с файлом htaccess. Файл htaccess в настоящее время выглядит так:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?sideID=$1
RewriteRule ^([a-zA-Z0-9_!-]+)/([a-zA-Z0-9_!-]+)/([a-zA-Z0-9_!-]+)$ index.php?sideID=$1&id=$2&title=$3
RewriteCond %{HTTP_HOST} ^www\.mypage\.no$
RewriteRule ^/?$ "http\:\/\/mypage\.no\/" [R=301,L]
Первое правило переписывается с:
http://mypage.com/index.php?sideID=home
К этому:
http://mypage.com/home
Первое правило переписывается с:
http://mypage.com/index.php?sideID=b&id=12&title=a-great-blog-post
К этому:
http://mypage.com/b/12/a-great-blog-post
Я думаю, они тоже делают то, что я хочу, когда дело доходит до переписывания. НО, проблема в том, что если я сейчас перехожу к любому сообщению в блоге на сайте, а затем пытаюсь вернуться к любой другой ссылке, скажем, http://mypage.com/home это добавит http://mypage.com/b/12/home вместо. Это, конечно, можно легко исправить, просто используя абсолютные URL в навигации. Но когда я пытаюсь создать файл Sitemap в формате XML, бот будет индексировать каждую страницу для каждого идентификатора блога следующим образом: http://mypage.com/b/12/home, http://mypage.com/b/13/home, http://mypage.com/b/14/home и так далее для каждого идентификатора блога и названия страницы.
Есть ли способ убедиться, что RewriteRule применяется отдельно или установить для них условие или что-то в этом роде? Я немного нуб в этой области.
Прошу вас, пожалуйста, помогите мне!:)