За последние 24 часа нас посетили 17834 программиста и 1713 роботов. Сейчас ищут 1033 программиста ...

Проблема с редиректами в .htaccess

Тема в разделе "Прочие вопросы по PHP", создана пользователем onochiev, 11 ноя 2015.

  1. onochiev

    onochiev Новичок

    С нами с:
    11 ноя 2015
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте. Пытаюсь сделать 301 редирект htaccess, но возникла проблема с 1 из правил.

    Само правило: RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

    Мои редиректы:
    Redirect 301 /load/111/1 http://site.ru/category1/
    Redirect 301 /load/111/2 http://site.ru/category2/
    Redirect 301 /load/111/3 http://site.ru/category3/
    Redirect 301 /load/111/4 http://site.ru/category4/

    При вводе адреса http://site.ru/load/111/4 происходит редирект, но в адресной строке следующее:
    http://site.ru/category4/?do=cat&category=load/111/4

    Уже битый час ищу решение, никак не могу найти.
    Заранее благодарен за помощь.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А что надо?
     
  3. onochiev

    onochiev Новичок

    С нами с:
    11 ноя 2015
    Сообщения:
    3
    Симпатии:
    0
    Ну дак я же отписал редиректы. Нужно чтобы правильно перекидывалос с /load/111/4 на http://site.ru/category4/
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Полный .htaccess покажешь?
     
  5. onochiev

    onochiev Новичок

    С нами с:
    11 ноя 2015
    Сообщения:
    3
    Симпатии:
    0
    Да, без проблем.

    Код (PHP):
    1. DirectoryIndex index.php
    2.  
    3. RewriteEngine On
    4.  
    5. # Редиректы
    6. RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
    7.  
    8. # Сам пост
    9. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
    10. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
    11. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
    12. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]
    13.  
    14. RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
    15. RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
    16. RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
    17. RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]
    18.  
    19. RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
    20. RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
    21. RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
    22. RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]
    23.  
    24. # За день
    25. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
    26. RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
    27. # За весь месяц
    28. RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
    29. RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
    30. # Вывод за весь год
    31. RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
    32. RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
    33. # вывод отдельному тегу
    34. RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
    35. RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
    36. # поиск по доп полям
    37. RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
    38. RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
    39. # вывод для отдельного юзера
    40. RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
    41. RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
    42. RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
    43. RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
    44. RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
    45. RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
    46. # вывод всех последних новостей
    47. RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]
    48. RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
    49. # вывод в виде каталога
    50. RewriteRule ^catalog/([^/]*)/rss.xml$ engine/rss.php?catalog=$1 [L]
    51. RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
    52. RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
    53. # вывод непрочитанных статей
    54. RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
    55. RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
    56. # вывод избранных статей
    57. RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
    58. RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]
    59.  
    60. RewriteRule ^rules.html$ index.php?do=rules [L]
    61. RewriteRule ^statistics.html$ index.php?do=stats [L]
    62. RewriteRule ^addnews.html$ index.php?do=addnews [L]
    63. RewriteRule ^rss.xml$ engine/rss.php [L]
    64. RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]
    65.  
    66. RewriteCond %{REQUEST_FILENAME} !-d
    67. RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
    68. RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
    69.  
    70. RewriteCond %{REQUEST_FILENAME} !-f
    71. RewriteRule ^([^.]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
    72. RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]
    73. RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1&seourl=$1 [L]
    74.  
    75. RewriteCond %{REQUEST_FILENAME} !-f
    76. RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]
    77.  
    78. Redirect 301 /load/111/1 http://site.ru/category1/
    79. Redirect 301 /load/111/2 http://site.ru/category2/
    80. Redirect 301 /load/111/3 http://site.ru/category3/
    81. Redirect 301 /load/111/4 http://site.ru/category4/ 
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    так может редиректы разместит выше правила
    Код (PHP):
    1. RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L] 
    и добавить к ним [L]