Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuang index.php dalam apache2

Bagaimana untuk membuang index.php dalam apache2

PHPz
PHPzasal
2023-03-31 09:09:55580semak imbas

Apache2去掉index.php

Apache是一种常用的开源Web服务器,具有开放性和灵活性。 在使用Apache进行PHP开发时,大多数情况下需要使用index.php作为默认文件。但是,在某些情况下需要将url中的index.php删除,这通常称为美化url。本文将介绍如何使用Apache2在url中去除index.php。

  1. 更改Apache配置文件

打开Apache的配置文件,通常存储在/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf中。 找到以下行:

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

将AllowOverride None更改为AllowOverride All。

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

然后,在同一个文件中找到以下行:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

删除RewriteRule ^index.php$ - [L]以及RewriteRule . /index.php [L]。 保存并关闭文件。

  1. .htaccess文件设置

在您的Web站点的主目录中创建一个名为.htaccess的文件。打开它并添加以下代码:

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /

    #去掉index.php的代码
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f #RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ $1.php [L]
</IfModule>

在这个代码块中,添加了一行RewriteCond,以确保当url请求一个可能存在的文件时,Apache服务器不会再处理该请求。另外,添加了一条新的RewriteRule,当一个url中包含index.php时,它将替换该部分。

  1. 重新启动Apache服务器

在保存了更改后,重新启动Apache服务器。输入sudo service apache2 restart或sudo /etc/init.d/apache2 restart命令并按Enter键以重新启动Apache服务器。

现在,在您的URL中不再需要输入index.php,例如www.abc.com/index.php/about将改为www.abc.com/about。

总结

Apache2是一种流行的开放源码Web服务器。 使用Apache进行PHP开发时,通常需要使用index.php作为默认文件。但在某些情况下,需要将url中的index.php删除,这通常称为美化url。 本文介绍了如何使用Apache2在url中去除index.php,并提供了三个必要的步骤。

Atas ialah kandungan terperinci Bagaimana untuk membuang index.php dalam apache2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn