.htaccess - 删除扩展

.htaccess - removing extensions

所以,我最近开始从头开始重建我的网站,现在我已经到了应该编辑 .htaccess 文件以使 links 对 SEO 更友好等的地步.

目前,我正在努力从我的网页中删除 .php、.html 和其他扩展名以清理 links。比如我要:

http://www.mega.co.rs/founder.php
成为
http://www.mega.co.rs/founder

当我在域的页面之间导航时,在我的 .htaccess 文件中写入 Options +MultiViews 似乎可以解决问题。但是,当我打开浏览器并直接转到 'corrected' link 时,它给了我第一个 link,带有扩展名。我该如何解决这个问题?

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /

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

# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/\.php -f [NC]
RewriteRule ^(.+?)/?$ .php [L]

# To internally forward /dir/file to /dir/file.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/\.html -f [NC]
RewriteRule ^(.+?)/?$ .html [L]