使用子文件夹和链接

时间:2016-05-13 09:53:39

标签: .htaccess redirect cpanel

好的,所以我想将所有www重定向到非www链接,

我想将www.example.com重定向到example.com,我也可以使用此代码执行此操作。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

但是当有人试图访问www.example.com/example时,会将网站重定向到example.com,

我想要一个可以将www.example.com/example或任何子文件夹重定向到example.com/example或任何子文件夹的代码。

有点像通配符,怎么做?

如果可能的话,也强迫ssl。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题:

www.example.com/dir/anypage.html到example.com/dir/anypage.html(同一页)

RewriteEngine On
RewriteCond %{HTTP_HOST}  ^www.example.com [nocase]
RewriteRule ^(.*)         http://example.com/$1 [last,redirect=301]

或使用:

RewriteCond %{HTTP_HOST} ^(www\.example\.com)?$
RewriteRule ^(.*)$ http://example.com/subfoldername/$1 [R=301,L]

--------替代---------

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(example\.com)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^example\.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1 [L]

RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(/)?$ /subfolder/index.php [L]

强制使用SSL:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]