| |
|
|
| | Здравствуйте!
Подскажите, как можно сделать, чтобы вместо таких ссылок:
page.php?note=1
page.php?note=2
page.php?note=3
и т.д.
Получились такие
1.html
2.html
3.html | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 11:34)
| | | Можно поступить следующим образом
RewriteEngine on
RewriteBase /
RewriteRule ^([\d+]).html /page.php?note=$1 [L]
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 11:43)
| | | Спасибо.
Эт в .htaccess нужно вписать, да? | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 11:49)
| | | Совершенно верно. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 11:50)
| | | Понятно. Спасибо. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 11:50)
| | | Ой! Похоже не тот .htaccess кручу))) | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 12:00)
| | | Вы точный адрес от начала сайта укажите, так как приведенное выше правило работает для корня сайта. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 11:50)
| | | А вот еще хотел уточнить...
Если у меня Денвер - .htaccess в каком месте создать? Или его не нужно нигде создавать?) | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 12:22)
| | | .htaccess - это конфигурационный файл, который управляет поведением Web-сервера Apache на уровне папки. Т.е. создавать его нужно в той папке, к которой вы хотите применить правила .htaccess. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 12:31)
| | | Правильно ли я понимаю, что если у меня всё находится в Z:\home\localhost\www\site то в ней (в папке site) я его и создаю? | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 12:42)
| | | Да. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 13:31)
| | | Понял, спасибо.
Вроде бы так и сделал, но пока не работает... В чем может быть причина?
P.S. Denwer перезапустил | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 13:53)
| | | А в чем выражается не работа и что пишется в логах Apache? | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 14:37)
| | | >А в чем выражается не работа...
Вид ссылки не изменился. (http://localhost/site/page.php?note=19)
А так всё работает
>... что пишется в логах Apache?
А это где глянуть? | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 14:46)
| | | А он и не будет изменяться, следует сразу набирать конечную ссылку и везде её использовать. Если нужно, чтобы ссылка менялась - отслеживайте это в PHP-кода и осуществляйте переадресацию на ЧПУ-ссылку. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 14:59)
| | | >... следует сразу набирать конечную ссылку и везде её использовать...
Получается, что если мы набираем http://localhost/site/1.html то попадаем по адресу http://localhost/site/page.php?note=1 (если сработает код в .htaccess)
Правильно? | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 15:43)
| | | Совершенно верно. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 15:53)
| | | Хм... Странно.... "Not Found" выдает. | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 16:06)
| | | Для site нужно модифицировать правило
RewriteEngine on
RewriteBase /
RewriteRule ^site/([\d+]).html /site/page.php?note=$1 [L]
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 16:10)
| | | Спасибо, сейчас попробую... | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 16:10)
| | | К сожалению, вот такая надпись выдается:
"Подсказка Денвера
Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/localhost/www/site/1.html, которого не существует. "
Кстати, у меня старенький Денвер... Может быть в этом дело? (настройки, какие-нибудь другие) | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 16:40)
| | | Вполне может быть, я комплектацию денвера плохо знаю, возможно там и модуля mod_rewrite нет. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 16:47)
| | | Ясно, спасибо)
Попробую обновить может, что получится. | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 17:05)
| | | Еще в httpd.conf загляните и посмотрите включен ли там mod_rewrite. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 17:19)
| | | Хорошо гляну, спасибо. | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 17:19)
| | | Установил новый Денвер
Вот фрагмент из файла httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
|
Пока всё без изменений - 404
А Firewall не может быть причиной?.. Хотя я его отключал... | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 20:54)
| | | Попробуйте следующий .htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^([\d+]).html page.php?note=$1 [L]
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 21:55)
| | | Спасибо.
Так тоже пробовал, пока не сработало. | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 22:55)
| | | Хм... странно, у меня на локальной машине (Apache 2.2) работает (воспроизвел ситуацию с папками). | |
| |
|
|
| |
|
|
| |
для: cheops
(29.03.2011 в 22:58)
| | | Вот и я думаю...
А вот еще вопрос (не в тему правда): Своя страница 404 тоже через .htaccess делается?
И она у меня не запускается...
Создал свою стр. 404 потом .htaccess файл в нем записал:
ErrorDocument 404 /index.html
|
И тоже не работает
Может я неправильно что-то делаю?) | |
| |
|
|
| |
|
|
| |
для: rux
(29.03.2011 в 23:31)
| | | Да вроде все правильно, может у вас в Apache отключена поддержка .htaccess... | |
| |
|
|
| |
|
|
| |
для: cheops
(30.03.2011 в 11:14)
| | | Возможно, а как это узнать? | |
| |
|
|
| |
|
|
| |
для: rux
(30.03.2011 в 12:34)
| | | Посмотрите, что в контейнере <Directory /> прописано? | |
| |
|
|
| |
|
|
| |
для: cheops
(30.03.2011 в 13:11)
| | | Спасибо.
Вот знать бы еще где этот "<Directory />" контейнер находится... Наверно в этом httpd.conf, да? | |
| |
|
|
| |
|
|
| |
для: cheops
(30.03.2011 в 13:11)
| | | О! нашел кажись... Вот такая запись там
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Satisfy all
</Directory>
|
| |
| |
|
|
| |
|
|
| |
для: rux
(30.03.2011 в 13:51)
| | | Попробуйте в Options прописать All | |
| |
|
|
| |
|
|
| |
для: cheops
(30.03.2011 в 13:59)
| | | Спасибо, сейчас... | |
| |
|
|
| |
|
|
| |
для: cheops
(30.03.2011 в 13:59)
| | | 404 - Чудеса... | |
| |
|
|
| |
|
|
| |
для: rux
(30.03.2011 в 14:31)
| | | Попробуйте так:
RewriteEngine on
RewriteBase /
RewriteRule ^site/([\d+]).html$ /site/page.php?note=$1 [L]
|
| |
| |
|
|
| |
|
|
| |
для: Commander
(31.03.2011 в 07:31)
| | | Спасибо.
Так тоже тишина (404)
Странно, как-то это всё...
P.S. начинаю посматривать в сторону кувалды))) | |
| |
|
|
| |
|
|
| |
для: rux
(31.03.2011 в 15:00)
| | | есть вероятность, что браузер кэширует результаты. поэтому попробуйте дописать в адресной строке:
1.hml?12345
кстати перезапускать денвер после изменения .htaccess не нужно | |
| |
|
|
| |
|
|
| |
для: psychomc
(31.03.2011 в 15:08)
| | | Спасибо, попробовал, результат тот же (404)
>кстати перезапускать денвер после изменения .htaccess не нужно
Хм... Не знал. Спасибо) | |
| |
|
|
| |
|
|
| |
для: rux
(31.03.2011 в 15:18)
| | | в денвере все настроено...
RewriteRule ^([\d+]).html$ site/page.php?note=$1 [L]
|
ErrorDocument 404 site/index.html
|
| |
| |
|
|
| |
|
|
| |
для: vadimka
(07.04.2011 в 13:56)
| | | Спасибо.
Пробовал, тоже не получилось...
P.S. Пока забросил эту затею) | |
| |
|
|
| |
|
|
| |
для: rux
(08.04.2011 в 14:14)
| | | RewriteRule ^([\d+]).html$ блин надо экранировать точки
RewriteRule ^([\d+])\.html$ | |
| |
|
|
| |
|
|
| |
для: vadimka
(08.04.2011 в 15:40)
| | | Спасибо.
Может и вправду в этом дело у меня... Сейчас пробовать буду.... | |
| |
|
|
| |
|
|
| |
для: vadimka
(08.04.2011 в 15:40)
| | | Пробовал вчера, "та же песня, 404") | |
| |
|
|