Я размещал сайт PHP на UBUNTU 14.04, и он работает хорошо. Но я хочу, чтобы index.php был скрыт в URL сайта. Как мне поступить? Может ли кто-нибудь помочь мне, как это сделать?
Спасибо.
Я думаю, вы должны установить директиву DirectoryIndex
в конфигурации Apache или в локальном .htaccess .
Стандартная установка apache2 на 16.04 LTS имеет следующий файл
/etc/apache2/mods-available/dir.conf содержит
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
скрыть index.php из URL (вы увидите http: // имя_сервера / dir / вместо http: //servername/dir/index.php ) .
Кроме того, вы можете добавить следующие строки в файл .htaccess
RewriteEngine on
# index.php -> /
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://servername/$1 [R=301,L]
Этот пример перенаправит http: //servername/index.php по http: // имя_сервера / .
Из того, что я использовал, вы можете добавить .htaccess
в свой корневой каталог. А затем добавьте в него следующее содержимое:
RewriteEngine On
RewriteCond% {REQUEST_FILENAME}! -F
RewriteRule ^ ([^ .] +) $ $ 1.php [NC, L]
После этого вы можете называть свои ссылки без расширения .php
.
Например, если была ссылка на Home
с index.php
, как показано ниже:
До:
<li><a href="../index.php">Home</a></li>
После сохранения .htaccess
использование может использовать его без расширения .php
.
<li><a href="../index">Home</a></li>
Может быть, есть лучший способ сделать это, но сейчас я так и делаю. (Я новичок в php, извините за мои ошибки)
ПРИМЕЧАНИЕ: Файлы будут именоваться с расширением .php
, например, about.php
, contact.php
. Но имена файлов в href
будут без расширения .php
.