Я хочу, чтобы index.php был скрыт в URL сайта

Я размещал сайт PHP на UBUNTU 14.04, и он работает хорошо. Но я хочу, чтобы index.php был скрыт в URL сайта. Как мне поступить? Может ли кто-нибудь помочь мне, как это сделать?

Спасибо.

0
задан 18 December 2017 в 14:52

2 ответа

Я думаю, вы должны установить директиву 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: // имя_сервера / .

0
ответ дан 18 December 2017 в 14:52

Из того, что я использовал, вы можете добавить .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.

enter image description here

0
ответ дан 18 December 2017 в 14:52

Другие вопросы по тегам:

Похожие вопросы: