Home  >  Article  >  Web Front-end  >  How to remove file extensions (.php and .html) from URLs using .htaccess

How to remove file extensions (.php and .html) from URLs using .htaccess

不言
不言Original
2019-03-15 16:45:512945browse

根据SEO专家的说法,如果你的网站URL中包含有.php、.htm或.html扩展名,则对SEO没有影响。那么为什么我们需要从URL中删除这些扩展。正如专家所说,我认为在URL中没有文件扩展名有很多优点。

How to remove file extensions (.php and .html) from URLs using .htaccess

后端技术对最终用户是隐藏的。但对于SEO来说,确定这项技术并不难。最好的优点是我们可以轻松地更改后端技术,而不影响页面的SEO。

首先在应用程序文档根目录中创建一个.htaccess文件,并根据需要在文件中添加以下值以删除文件扩展名。

从URL中删除.php扩展名

例如,需要将网址从http://example.com/demo.php更改为http://example.com/demo。可以编辑.htaccess文件并添加以下设置。

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

现在,如果用户在浏览器中访问/demo,它将显示/demo.php中的内容。但是,如果任何用户输入的完整URL为http://example.com/demo.php,则不会重定向。现在需要向.htaccess文件添加更多规则。

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]

从URL中删除.html扩展名

例如,需要将网址从http://example.com/demo.html转换为http://example.com/demo。需要编辑.htaccess文件并添加以下设置。

RewriteEngine On 
RewriteCond%{REQUEST_FILENAME}!-f 
RewriteRule ^([^。] +)$ $ 1.html [NC,L]

现在,如果用户在浏览器中访问/demo,它将显示/demo.html中的内容。现在,可能需要将键入完整URL(http://example.com/demo.html)的用户重定向到新的URL(http://example.com/demo)。

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注php中文网的其他相关栏目教程!!!

The above is the detailed content of How to remove file extensions (.php and .html) from URLs using .htaccess. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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