在Apache Web服务器上使用没有文件扩展名的URL的正确方法是什么?目前我在.htaccess文件中使用此实现
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L]
然而,有些网址有落后/有些网址不在,而我不知道为什么。我喜欢尾随/但是它会有所作为吗?另外,如果输入' about.php'我怎样才能让它去了解'代替? drexel.edu有我希望复制的文件结构,但我不知道他们是怎么做的。
另外,这对SEO有何影响?搜索引擎是否会将页面计算为' about.php'和'关于'作为两个单独的重复页面,或者他们知道它是相同的事情,而我不必做任何额外的事情?
答案 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
会缓存在搜索结果中。