Ответ 1
Это называется перезаписи URL. Мне пришлось использовать его в первый раз недавно, и я использовал этот учебник, чтобы узнать его, надеюсь, что вы тоже найдете его:
Возможно ли настроить Apache, чтобы не показывать расширение файла?
Например: Скажем, у меня есть domain.com/page.php
, но в качестве URL-адреса нужно иметь domain.com/page
.
Любые идеи?
Это называется перезаписи URL. Мне пришлось использовать его в первый раз недавно, и я использовал этот учебник, чтобы узнать его, надеюсь, что вы тоже найдете его:
Поместите это ваш .htaccess файл
#turn on url rewriting
RewriteEngine on
#remove the need for .php extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Это позволяет вам получить доступ к файлам .php без расширения, поэтому ваши ссылки должны читать
href="/somepage"
и это будет направлено на
href="/somepage.php"
Существует также MultiViews
как опция конфигурации vhost или .htaccess. См. http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews
С этой страницы:
Эффект MultiViews выглядит следующим образом: если сервер получает запрос для /some/dir/foo, если/some/dir имеет MultiViews включен, а /some/dir/foo не существует, тогда сервер считывает каталог, ищущий файлы с именем foo. *, и эффективно подделывает карту типа, которая называет все эти файлы, назначая им те же типы носителей и кодировки содержимого, которые она имела бы, если бы клиент попросил одного из них по имени. Затем он выбирает наилучшее соответствие требованиям клиента.
Это действительно просто. Просто создайте файл .htaccess и поместите его в корневой каталог, затем вы можете переопределить URL-адрес для своего собственного.
Вам нужна функция веб-сервера, называемая перезаписи URL-адресов. Это приложение поддерживает веб-сервер (apache, IIS, nginx). Как следует из названия, он запрашивает URL-адрес и переписывает его в определенный вами формат.
На www есть много руководств, даже если вы используете решение для совместного размещения, вы все равно можете добавить/изменить файл .htaccess, чтобы сделать это.
Поместите это ваш .htaccess файл
RewriteEngine On
RewriteRule ^page?$ page.php