How to remove index.php in apache2

PHPz
Release: 2023-03-31 09:32:30
Original
582 people have browsed it

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>
Copy after login

将AllowOverride None更改为AllowOverride All。

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

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

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

删除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>
Copy after login

在这个代码块中,添加了一行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,并提供了三个必要的步骤。

The above is the detailed content of How to remove index.php in apache2. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template