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

时间:2016-08-09 21:19:28

标签: php apache .htaccess web seo

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

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

然而,有些网址有落后/有些网址不在,而我不知道为什么。我喜欢尾随/但是它会有所作为吗?另外,如果输入' about.php'我怎样才能让它去了解'代替? drexel.edu有我希望复制的文件结构,但我不知道他们是怎么做的。

另外,这对SEO有何影响?搜索引擎是否会将页面计算为' about.php'和'关于'作为两个单独的重复页面,或者他们知道它是相同的事情,而我不必做任何额外的事情?

1 个答案:

答案 0 :(得分:1)

您可以使用这两条规则有效删除.php扩展程序并处理搜索引擎优化排名:

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会缓存在搜索结果中。