为何我访问的域名地址老带个index.php
当您访问一个网站时,如果 URL 后面总是带有 index.php,这通常是因为服务器配置没有正确设置默认文档。以下是一些可能的原因和解决方法:
1. 修改服务器配置
-
Apache 服务器:
- 编辑 Apache 的配置文件(通常是
httpd.conf或apache2.conf),找到DirectoryIndex指令并修改它以包含index.php作为默认文档之一。 - 例如:
apacheconf
DirectoryIndex index.php index.html index.htm - 保存文件并重启 Apache 服务器。
- 编辑 Apache 的配置文件(通常是
-
Nginx 服务器:
- 编辑 Nginx 的配置文件(通常是
nginx.conf或/etc/nginx/sites-available/yourdomain.conf),找到index指令并修改它以包含index.php作为默认文档之一。 - 例如:
nginx
location / { index index.php index.html index.htm; } - 保存文件并重启 Nginx 服务器。
- 编辑 Nginx 的配置文件(通常是
2. 使用 .htaccess 文件
- 如果您没有直接访问服务器配置文件的权限,可以在网站根目录放置一个
.htaccess文件来设置默认文档。- 例如:
apacheconf
DirectoryIndex index.php index.html index.htm
- 例如:
3. 配置 URL 重写
-
Apache 服务器:
- 在
.htaccess文件中添加 URL 重写规则,将不带index.php的请求重写到index.php。 - 例如:
apacheconf
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L]
- 在
-
Nginx 服务器:
- 在 Nginx 配置文件中添加 URL 重写规则。
- 例如:
nginx
server { ... location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php last; } index index.php index.html index.htm; } ... }
4. 检查 PHP 配置
- 确保 PHP 配置正确,并且 PHP 模块已经启用。对于 Apache,确保
mod_php或mod_php7已经加载。 - 对于 Nginx,确保
fastcgi_pass指令指向正确的 PHP-FPM 服务。

扫码添加技术【解决问题】
专注企业网站建设、网站安全16年。
承接:企业网站建设、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。
专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员。
本文来自博客园,作者:黄文Rex,转载请注明原文链接:https://www.cnblogs.com/hwrex/articles/18374044

浙公网安备 33010602011771号