gpt4 book ai didi

php - 删除文件扩展名的正确方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:34:30 26 4
gpt4 key购买 nike

在 Apache Web 服务器上使用没有文件扩展名的 URL 的正确方法是什么?目前我在 .htaccess 文件中使用这个实现

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L]

但是,有些 URL 有尾随/而其他的则没有,我不确定为什么。我更喜欢尾随/但它有什么不同吗?另外,如果输入“about.php”,我怎样才能让它转到“about”呢? drexel.edu 具有我要复制的文件结构,但我不确定他们是如何复制的。

此外,这对 SEO 有何影响?搜索引擎会将“about.php”和“about”之类的页面计为两个单独的重复页面,还是他们知道这是同一件事而不需要我做任何额外的事情?

最佳答案

您可以使用这两条规则来有效地删除 .php 扩展名并处理 SEO 排名:

RewriteEngine On

# To externally redirect /file.php to /file
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]

# To internally redirect /file OR file/ to /file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

由于第一个 301 重定向,搜索引擎不会缓存 /file.php 页面,只有 /file 会缓存在搜索结果中。

关于php - 删除文件扩展名的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860628/

26 4 0