📜  删除 .php 扩展名并删除尾部斜杠 - PHP (1)

📅  最后修改于: 2023-12-03 15:22:41.966000             🧑  作者: Mango

删除 .php 扩展名并删除尾部斜杠 - PHP

有时候在URL中可能会出现.php这样的扩展名,而许多网站都会在URL末尾保留一个尾部斜杠。这些都是SEO不友好的因素,可以影响搜索引擎优化。在本文中,我们将介绍如何使用PHP删除URL中的.php扩展名并删除末尾的斜杠,将它们变为SEO友好的URL。

删除 .php 扩展名

要删除URL中的.php扩展名,我们需要使用.htaccess文件。.htaccess文件是一个特别的文件,可以在服务器端设定文件夹级别的配置,但它是被隐藏的,如果它不存在,可以通过创建一个新的.htaccess文件来达到该目的。以下是如何删除.php扩展名并将其转换为SEO友好的URL。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

首先,我们要启用RewriteEngine,以便使用.htaccess的Rewrite规则。接着,我们使用RewriteCond规则来检查文件是否存在。如果文件不存在,我们使用RewriteRule将URL重写为没有.php扩展名的版本。

删除尾部斜杠

下一步是删除URL末尾的斜杠。使用PHP可以简单实现该功能。

if (substr($_SERVER['REQUEST_URI'], -1) == '/') {
    $url = rtrim($_SERVER['REQUEST_URI'], '/');
    header('Location: ' . $url, true, 301);
    exit();
}

我们首先使用substr函数来检查URL上是否存在尾部斜杠。如果是,我们使用rtrim函数将其删除,并使用header函数将用户重定向到没有尾部斜杠的URL。最后,我们使用exit函数以确保代码不会继续执行。确保在301重定向时使用真实的URL,以便告诉搜索引擎链接已永久更改。

结论

通过删除.php扩展名和末尾的斜杠,我们可以创建SEO友好的URL,这可以提高我们的网站在搜索引擎中的排名。在.htaccess文件中使用Rewrite规则以及使用PHP的rtrim和header函数,操作也非常简单。