浏览器不重写 URL

Browser doesn't rewrite URL

我想重写一个url 我的网站内容只有html页,就这么简单

结构:

[/]
---[visit]
------index.html
---[...]
---index.html

原文是:

www.example.com/visit

我想重写url并在地址栏中显示如下

https://example.com/visit-italy-in-summer/

我正在使用以下规则

RewriteEngine On
RewriteBase /
## Redirect all to https non-www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/ [R=301]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301]

## Redirecd index.html & php to /
RewriteCond     %{THE_REQUEST} /index\.(html|php)                               [NC]
RewriteRule     ^(.*?)index\.(?:html|php)$                      /             [R=301,NC,NE]

RewriteRule     visit-italy-in-summer     visit           [R=301]

一切正常,除了我访问

https://example.com/visit-italy-in-summer

浏览器地址栏显示

https://example.com/visit

你上一条规则反了,应该是:

RewriteCond %{THE_REQUEST} /visit[/\s?] [NC]
RewriteRule ^ visit-italy-in-summer [R=301,L,NC]

RewriteRule ^visit-italy-in-summer/?$ visit/ [L,NC]

清除浏览器缓存后进行测试。