Как правильно установить условия в файле 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 применяется отдельно или установить для них условие или что-то в этом роде? Я немного нуб в этой области.

Прошу вас, пожалуйста, помогите мне!:)

0 ответов

Другие вопросы по тегам