繁体   English   中英

非www到www的http和https均不起作用

[英]non www to www for both http and https not working

搜索并应用了许多可用但无济于事的重写规则,

我在尝试

http://website.io/paypal应该转到http://www.website.io/paypal,但是它只是转到www主页http://www.website.io

对于https应该相同。 否则,最好将非www重定向到https://www.website.io/paypal ,但应带有页面名称。

经过许多试验和错误的版本后,这是我得到的最接近的版本,效果不好

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# WordPress Defaults
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

更新

尽管重定向似乎没有错,但www和非www域被映射到了不同的ip,因此在非www URL上找不到。

这是您的确切工作代码。 这将使您完美地重定向到所需的页面。

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI}paypal [R=301,L]

# WordPress Defaults
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

注意:只有下面这行有一些细微的变化,否则您做得很好。

RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI}paypal [R=301,L]

让我知道是否可以解决您的问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM