htaccess和regex重定向多种样式
我想重定向以下所有内容htaccess和regex重定向多种样式,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我想重定向以下所有内容 example.com http://example.com https://example.com http://www.example.com 到 https://www.example.com 我有这个: RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteRule ^/(.*):SSL$ https://%{
example.com
http://example.com
https://example.com
http://www.example.com
到
https://www.example.com
我有这个:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule ^/(.*):SSL$ https://%{SERVER_NAME}/$1 [R,L]
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteRule ^(.*)$ https://www.example.com/$1 [R=permanent,L]
下面这两个正在工作
http://www.example.com
https://example.com
但最后一个显示为:
https://www.example.com/https://example.com/
我如何纠正这一点,使所有三个都正确重定向到
谢谢你的帮助
^(?:.*?:)?(?:\/\/)?(?:.*?\.)?(.*?\.)(.*)$
试试这个,换成
https://www.$1$2
见演示
您想要的所有都可以在一条规则中完成,如下所示:
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [L,NE,R=301]
确保这是root.htaccess中的第一条规则。谢谢。嗯,既然这些都不像我原来的代码,那你想让我把它们贴在哪里呢?:-)从演示中,它看起来正是我需要的,但我不想在.htaccess文件中犯太多错误。您可以更具体地使用我的原始代码作为开始吗?仅仅因为正则表达式能够匹配给定的URL并不意味着这个正则表达式也可以用于
mod_rewrite
。@vks-谢谢您的麻烦。我对正则表达式太不了解了,不知道该怎么处理它。@AllThisOnAnACER unfotunaly我对php不了解:(…只是正则表达式。是的!谢谢你,你第一次就搞定了。我这噩梦般的一天对你的帮助好多了。非常欢迎你,很高兴它成功了。祝你今天过得愉快。