这里的目标是,如果URL后面有斜杠,如h2 tps://domain.com/page/,则重定向到h2 tps://domain.com/page
网站首页〉〉〉〉〉〉〉〉〉〉domain.com/page
它应该只在生产环境中工作,而不是在开发环境中,这就是为什么条件必须只适用于domain.com. domain.com设置为变量,以便在更复杂的环境中进行简单的配置。
实际上,这是我的.htaccess:
RewriteEngine on
RewriteBase /
RewriteRule .* - [E=DOMAIN:domain.com]
# Remove ending / AND rewrite with https and without www in a single redirection
RewriteCond expr "%{HTTP_HOST} -strmatch '(www\.)?%{ENV:DOMAIN}'" [NC]
RewriteCond %{REQUEST_URI} /public/(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) https://%{ENV:DOMAIN}/%1 [R=301,L]
我试过在表达式中使用-strmatch和=,事实上h2 tps://domain.com/page/会重定向,但h2 tps://www. domain. om/page/不会,就好像可选的(www.)?被忽略了一样。
我需要你帮忙!
1条答案
按热度按时间eimct9ow1#
所以,感谢CBroe的第一个评论,我来这个解决方案: