WordPress中的httaccess-指向子文件夹+重定向到https

时间:2019-01-28 14:35:41

标签: .htaccess url-redirection http-redirect

旧的.htaccess自动重定向到https协议:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

但是我看到没有通过htaccess指向子文件夹的指针。前开发人员使用了此代码:

[root] index.php

<?php include_once("wordpress/index.php"); ?>

似乎创建了几个错误: 在管理面板一侧,有一个https://my-site/wp-admin/https://my-site/wordpress/wp-admin/的重定向,但不是在前端。 有时在管理员方面,有些重定向是这样的:https://my-site/wp-admin/...会产生错误。

所以...这很令人困惑,我想用一种更简单的方法来清理它:我想要:

  1. 将域指向子文件夹wordpress,并适用于前端和后端
  2. 保持自动重定向http到https

我尝试了这个但没有成功:

.htaccess

 <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteCond %{HTTPS} off
     RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
     RewriteCond %{HTTP_HOST} ^(www.)?docpeda.be$
     RewriteRule ^(/)?$ wordpress/index.php [L]
 </IfModule>

我敢肯定这确实很容易,但是我需要一些帮助。

1 个答案:

答案 0 :(得分:1)

如果这是子文件夹,应该将其放在.htaccess文件中,希望这可以解决您的问题(只需复制和粘贴)。这也将使网站安全。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} ^(www.)?docpeda.be$ 
RewriteCond %{REQUEST_URI} !^/wordpress/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /wordpress/$1 
RewriteCond %{HTTP_HOST} ^(www.)?docpeda.be$ 
RewriteRule ^(/)?$ wordpress/index.php [L] 
</IfModule>