浏览器不重写 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]
清除浏览器缓存后进行测试。
我想重写一个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]
清除浏览器缓存后进行测试。