Помогите с чистыми URL

Я очень новичок в php (на самом деле около 2 дней). После того, как меня ограбил мой последний веб-хостинг, я решил перенести свой сайт на другой хост. Друг помогал мне сделать это, так как у него есть немного информации, но теперь мы застряли, и я пытался найти решение в Google, но большинство ответов мне не по плечу. Мой сайт - это сайт php с базой данных mysql. Мы переместили базу данных и загрузили сайт по ftp, и теперь все работает на новом сервере, за исключением одного: мой сайт изначально был разработан для использования чистых URL-адресов? Когда я перехожу на страницу своего магазина (т.е.: mywebsite.com и нажимаю на ссылку магазина - mywebsite.com/shop/ (отображается в левом нижнем углу моего браузера), я получаю сообщение об ошибке страница не найдена, но когда я набираю url mywebsite.com/shop.php страница отображается нормально. Кроме того, если я перейду на mywebsite.com/shop/shoes/ (еще одна ссылка, которая показывает предыдущую ссылку в левом нижнем углу), я получаю сообщение об ошибке страница не найдена , Также, если я наберу mywebsite.com/shop/shoes.php в адресной строке, я также получу ошибку page not found, хотя страница shoes.php существует на ftp-сервере в папке с именем templates - если я перейду на mywebsite .com/templates/shoes.php он появляется) Я понимаю, что это называется чистыми URL-адресами, и мне нужно добавить файл .htaccess, чтобы решить проблему. Я просмотрел ftp-область своего старого хоста и не смог найти этот файл, но мне сказали, что он, вероятно, скрыт. Мой новый провайдер сказал мне, что мод-перезапись доступна на сервере, но я понятия не имею, как написать этот файл htaccess. Может ли кто-нибудь дать мне пошаговую инструкцию, как это сделать, так как я не кодер.

дополнительные детали

У меня есть следующие файлы в моем корневом каталоге: index.php, shop.php, checkout.php, complete.php, contact.php ... Затем у меня есть папка с именем templates и в этой папке у меня есть: shoes.php. одежда.php, пальто.php ...

У меня проблема в том, что большинство файлов php в моем корневом каталоге уже имеют href-ссылки? указывая на такие места, как mysite.com/shop/ и mysite.com/shop/shoes/, поэтому, когда я открываю домашнюю страницу в своем браузере и навожу курсор на ссылки, я вижу эти адреса, и когда я нажимаю на ссылки, я получаю страница не найдена, так как браузер, должно быть, ищет ссылки не в том месте. (эти ссылки работали нормально, однако на последнем хосте, который я использовал). Я понимаю, что мне нужен файл htaccess, чтобы перенаправить эти ссылки в правильные места. - т.е. ссылка mysite.com/shop/shoes/ на самом деле ведет на страницу с именем shoes.php, расположенную в root/templates. Я так понимаю, этот метод использовался для очистки URL-адресов?? то есть: вместо mysite.com/templates/shoes.php URL показывает mysite.com/shop/shoes/. Я просмотрел код на некоторых php-страницах в корне, и все они имеют множество ссылок на эти «ложные» адреса, например: mysite.com/shop/shoes/, когда фактический файл должен находиться на mysite.com/ шаблоны/обувь.php. Я не хочу просматривать каждый файл по одному, так как это сотни ссылок, поэтому я пытаюсь создать этот файл htaccess. Спасибо за ваше время, Дэйв


person Dave    schedule 01.03.2011    source источник


Ответы (2)


Попробуйте найти в своем FTP-клиенте опцию для отображения скрытых файлов.

Имя этого файла .htaccess (точка htaccess), возможно, поэтому вы его не видите. Если старый сайт работает, то файл, вероятно, там. Вы также можете связаться с кем-нибудь, чтобы отправить вам файл по электронной почте, через мгновенные сообщения и т. д.

person juangiordana    schedule 01.03.2011

Для этого вам не нужен mod_rewrite или .htaccess.

Включите мультипредставления в конфигурации Apache. Это позволит вам исключить расширение .php из ваших URL-адресов.

person meagar    schedule 01.03.2011