假设用户访问www.site.com/feeds
。它必须显示www.site.com/Layouts/feeds.html
,并保持 URL 完整。如何使用 .htaccess 做到这一点?
失败
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.com/feeds$ [NC]
RewriteRule ^(.*)$ http://www.site.com/Layouts/feeds.html [R=301,L]
出现 404 错误?![我已就此问题联系了管理员,其次,可能是系统问题]
RewriteEngine On
RewriteRule ^/feeds$ index.html [P]
答案1
因为它是一个 htaccess 文件,所以上下文路径被剥离;删除前导斜杠。
RewriteRule ^feeds$ Layouts/feeds.html [L]
答案2
如果您想“保持 URL 完整”,那么您就不会发出重定向,根据定义——重定向是向 Web 浏览器发出的指令“请去请求此其他页面”。
相反,您需要的是 Proxy 标志RewriteRule
,类似于:
RewriteRule ^/feeds$ http://www.site.com/Layout/Feeds.html [P]