我遇到了 .htaccess 问题,我成功地重写了 URL,但内容不再加载。
以下是我的 htaccess 文件。
我的目标是我的所有 .html 页面(该网站由 .html 静态页面组成)删除它们的扩展名。但是,我要求将 .html URL 301 重定向到新 URL,这样我的 SEO 就不会受到这些更改的影响。
例子:
- 原文:www.example.co.uk/page.html
- 所需:www.example.co.uk/page/
重要的是原始 URL 会重定向新 URL。
Options +FollowSymLinks
RewriteEngine on
# REDIRECT yourdomain.com TO www.yourdomain.com
RewriteCond %{HTTP_HOST} !^www.example.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [L,R=301]
RewriteRule (.+)\.html?$ http://www.example.co.uk/$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(([^/]*/)*[^/.]+)$ $1.html [L]
我已经尝试了上面的 htaccess,也尝试了下面的变体,但都没有按预期工作。任何帮助将非常感激。
Options +FollowSymLinks
RewriteEngine on
# REDIRECT yourdomain.com TO www.yourdomain.com
RewriteCond %{HTTP_HOST} !^www.example.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [L,R=301]
RewriteRule (.+)\.html?$ http://www.example.co.uk/$1/ [R=301,L]