Гость_андрей
20.02.2013 - 13:10
Странное дело.На сайте ссылки переделаны под mod_rewrite и имеют вид page/page2/
При нажатии на такую ссылку скрипт работает,грузится нужная ссылка.Но ,если снова нажать на какую-либо или на эту же ссылку,то к уже имеющемуся урл в адресной строке добавляется параметр нажатой ссылки и вместо адреса menu/ в адресной строке видно page/page2/menu/
Как же сделать так ,чтобы старый параметр ссылки заменялся на новый,а не обьеденялись?
Правила в htaccess
RewriteRule ^([^/]+)/([^/]+)/$ index.php?m=$1&pm=$2&page=$2 [L]
RewriteRule ^([^/]+)/$ index.php?m=$1&page=$1 [L]
RewriteRule ^page/([^/]+)/$ index.php?page=$1 [L]
ссылки на сайте имеют вид <a href="page/page2/">ссылка</a>
потому что нужно указывать абсолютные ссылки т.е. не menu/ а /menu/
У меня сайт на локальном сервере находится в папке dir
Если я ссылку ставлю со слешом вначале(/menu/) ,то при наведении на нее всплывает путь вида
http://localhost/menu/ и выдается ошибка 404
А при виде ссылки без слеша (menu/)
http://localhost/dir/menu/ и при нажатии подгружается данная страница.Но при переходах по ссылкам пути прибавляютя к этому.Т.е. потом при
нажатии на
http://localhost/dir/page/ в адресной строке выводится ссылка вида
http://localhost/dir/menu/page/
Как я могу на локалхост менять все ссылки на абсолютные Переписывать все на
http://localhost/dir/page/ ,а потом ,когда загружу на хостинг все менять?
Все ак делают?
Цитата (Guest @ 20.02.2013 - 09:56) |
Как я могу на локалхост менять все ссылки на абсолютные Переписывать все на http://localhost/dir/page/ ,а потом ,когда загружу на хостинг все менять?
Все ак делают? |
Все делают хелперы, которые сами генерят нужные ссылки:
<a href="<?=$this->getUrl('some_page')?>">Some page</a>
или
<a href="<?=$page->getUrl()?>"><?=$page->getName()?></a>
и т.д. и т.п.
Всем спасибо,разобрался .Пришлось сделать ссылки вида /dir/page/ ,а не page/ ,где /dir/ дирректория в которой расположены все папки и файлы сайна на локальном сервере.Таким образом получается абсолютная ссылка .И прописываю соответственно в htaccess
RewriteBase /dir/