非www到www的http和https都不工作

时间:2017-01-04 06:35:49

标签: wordpress .htaccess

已搜索并应用了许多可用的重写规则但无效,

我正在尝试

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

https的

应该相同。或者至少非www重定向到https://www.website.io/paypal是可以的,但应该带有页面名称。

经过多次试错版后,这是我得到的最接近的版本<\ p>

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域被映射到不同的ips,因此在非www网址上找不到。

1 个答案:

答案 0 :(得分:0)

这是您确切的工作代码。这会将您完美地重定向到您想要的页面。

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]

如果它解决了您的问题,请告诉我?