ste*_*ail 4 apache .htaccess mod-rewrite url-rewriting url-redirection
我使用以下mod_rewrite从我的站点的顶级目录重定向到子目录shows/:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^$ shows [L]
Run Code Online (Sandbox Code Playgroud)
重定向表现良好.但是,URL 显示重定向,我相信如果你使用mod_rewrite它不应该.
澄清:指向的浏览器http://www.example.com/被重定向到子目录shows/.但是浏览器会在URL中显示重定向http://www.example.com/shows/.同样,我的理解是,通过使用mod-rewrite,您可以使重定向不可见,因此用户不会意识到重定向已经发生.
难道我做错了什么?
我现在看到了问题.您是从重写URL http://www.example.com/来http://www.example.com/shows.由于/shows是目录而不是文件,因此Apache 在重写后会发送一个尾部斜杠重定向.以下是如何修复它:
RewriteRule ^$ shows/ [L]
# here -------------^
Run Code Online (Sandbox Code Playgroud)
注意:由于Apache可能早先发送了301 Moved Permanently标头,因此浏览器将缓存此响应,即使您对.htaccess文件进行了更改,它也可能显示错误的页面/内容.在测试时经常清除浏览器缓存.
| 归档时间: |
|
| 查看次数: |
2449 次 |
| 最近记录: |