У меня есть очень простой двухстраничный веб-сайт: домашняя страница и страница. То, что я пытаюсь сделать, это использовать Htaccess переписать URL, так что выглядят как:Псевдоним внутри htaccess и блокировать доступ к исходному файлу? (Переписывание URL)
- domain.com/ (для домашней страницы)
- domain.com/about (для о странице)
В фактической структуре папок сайта на главной странице находится /index.php, а о странице - /about.php (оба отображаются в корневом каталоге).
Я занимаюсь исследованием использования псевдонима, но, к сожалению, мой хостинг (Dreamhost) не разрешает доступ к httpd.config, так что это вне окна, и мне остается использовать правила перезаписи в файле htaccess.
Поскольку файл index.php будет отображаться в корне домена (http://domain.com/) автоматически, мне до сих пор удалось правильно отобразить страницу about на domain.com/about, используя эти строки:
RewriteEngine On
RewriteRule ^about$ /about.php
Я также использую 301 перенаправляет так что, например, domain.com/about/ (с слэш) также направляет обратно в/о URL, например так:
Redirect 301 /about/ http://domain.com/about
Это отлично работает.
Однако в index.php и about.php файлы по-прежнему показывают также, если вы идете на правильный URL в браузере (например: domain.com/about.php), так в результате поисковые системы видя (и индексируя) две версии каждой страницы! Я установил правильные канонические метаданные на каждой странице, но это, похоже, не имело никакого эффекта (канонические метаданные были в пределах разметки страницы с момента выхода сайта).
Итак, как я могу сначала сделать «слепой» переписывать (не имея более технического термина) для двух файлов, чтобы URL-адреса выглядели корректно, но также эффективно блокировали прямой доступ к файлам, обеспечивая что если кто-то попытается получить доступ к файлам php напрямую, URL-адрес все равно будет отображаться в браузере посетителя как «красивые» версии, а не полное имя файла и расширение php?
Любое пособие было бы чрезвычайно оценено, я изучал это еще пару дней (я не думаю, что здесь есть что-то совершенно такое же, как здесь, где-то здесь) и не может для меня жизнь работать один из!
Ничего себе, это было быстро! И спасибо - я был настолько сосредоточен на использовании htaccess, что и альтернатива httpd.conf, которую я даже не думал делать с самого php. Прекрасно работает! – johnkavanagh