htaccess强制重定向http除了wp-admin,wp-login.php和特定的url

时间:2017-10-27 04:34:11

标签: wordpress apache .htaccess redirect

我一直在努力解决.htaccess重定向而没有运气。

我希望我的所有网站页面都被强制重定向到 http ,除了wp-admin,wp-login.php和一个低于url。

https://www.mysite.ie/grupai/grupai-foirm/

你能帮忙吗?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

3 个答案:

答案 0 :(得分:0)

从wordpress数据库表wp-options网站网址和主网址更改

(e.g) http://localhost/wordpress

答案 1 :(得分:0)

如果你使用htaccess失败,你可以尝试通过WP本身来做到这一点。 默认情况下,所有网站都使用HTTP。 此代码检测当前协议和当前页面,如果需要重定向,则将其重定向到https。

add_action('init','redirector',0);
add_action('admin_init','redirector',0);
function redirector(){
$protocol = stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ? 'https://' : 'http://';
if ($protocol=='http://' and
(strpos($_SERVER["REQUEST_URI"],'wp-login')===false or
strpos($_SERVER["REQUEST_URI"],'wp-admin')===false or
strpos($_SERVER["REQUEST_URI"],'grupai/grupai-foirm')===false)){
header("location: https://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
die();
}
}

答案 2 :(得分:0)

# if not https
RewriteCond %{HTTPS} off

# and not wp-admin, etc
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{REQUEST_URI} !^/wp-login.php [NC]

# redirect to https 
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
相关问题