поставить ссылки без расширения файла (.php)

Можно ли настроить Apache, чтобы не показывать расширение файла?

Например: скажи, что у меня естьdomain.com/page.php но хочу иметьdomain.com/page как URL.

Есть идеи?

Ответы на вопрос(5)

Решение Вопроса

в последнее время, и я использовалэтот урок чтобы выучить его, надеюсь, вы тоже найдете его великолепным:

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. *, и фактически подделывает карту типов, которая именует все эти файлы, назначая им те же типы медиа и кодировки контента, которые были бы у него, если бы клиент запросил один из них по имени. Затем он выбирает лучшее соответствие требованиям клиента.

 Seth Battin11 июн. 2015 г., 18:20
Очень верно. Используйте с осторожностью.
 Indra Kumar S16 сент. 2016 г., 10:46
Я добавил MultiViews в мой vhost страдал в течение 2 дней. Я не смог выяснить, почему мой чистый URL-адрес запроса на получение не работал .... Спасибо @TheGingerDog
 David Goodwin11 июн. 2015 г., 16:17
Multiviews могут быть довольно раздражающими и мешать нормальным правилам mod_rewrite, если выбор имен файлов и шаблонов перезаписи перекрываются.
 Scorpius21 февр. 2018 г., 19:29
Комментарий @DavidGoodwin и этот ответ действительно помогли решить особенно неприятный и сложный для отслеживания конфликт между правилами перезаписи и включенной опцией MultiViews.

го в корень, тогда вы можете переопределить URL-адрес на свой собственный.

Используйте это руководство.

называемая перезаписью URL-адресов - каждое приложение веб-сервера (apache, IIS, nginx) поддерживает это. Как следует из названия, он берет запрошенный URL и переписывает его в определенный вами формат.

Существует множество руководств, доступных на веб-сайте, даже если вы используете решение общего хостинга, вы все равно можете добавить / изменить файл .htaccess, чтобы сделать это.

Поместите это ваш файл .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" 

Ваш ответ на вопрос