|
|
|
| Здравствуйте!
Подскажите, как можно сделать, чтобы вместо таких ссылок:
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") | |
|
|
|