使用.htaccess从URL中删除.html

时间:2018-12-19 09:49:07

标签: html .htaccess redirect

最近我们将wordpress网站移到了html中,我喜欢有像wordpress这样的旧网址。我正在使用以下代码,它像www.example.com/about-us一样删除了.html,但是图像,css,js没有加载,只有文本来了。在控制台中,它显示的网址类似于www.example.com/about-us/assests/css/style.css而不是www.example.com/assests/css/style.css,页面名称自动添加到所有源链接的中间。

<IfModule mod_expires.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
</IfModule>

有什么办法可以解决此问题?

2 个答案:

答案 0 :(得分:0)

您尝试过吗?

<IfModule mod_expires.c>
RewriteEngine On
RewriteRule ^([^\.]+)$ $1.html [NC,L]
</IfModule>

我认为这是您唯一需要的规则。

这将允许您以https://www.my-site.com/page.html的身份访问https://www.my-site.com/page之类的网址

答案 1 :(得分:0)

尝试一下...

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]