我的客户端在其域上安装了多个WordPress。一个在根目录中,一个在子文件夹中。他们一直在遇到重定向问题。
我们遇到的问题如下: 有时用户会输入:domainname.com/sub-folder-1(没有尾部斜杠),网站将重定向到domainname.comsub-folder-1,删除子文件夹的正斜杠。
Root .htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !/sub-folder-1$ [NC]
RewriteCond %{REQUEST_URI} !/sub-folder-1/.*$ [NC]
RewriteCond %{REQUEST_URI} !/sub-folder-2$ [NC]
RewriteCond %{REQUEST_URI} !/sub-folder-2/.*$ [NC]
RewriteCond %{REQUEST_URI} !/sub-folder-3$ [NC]
RewriteCond %{REQUEST_URI} !/sub-folder-3/.*$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
子文件夹.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sub-folder-1
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]
</IfModule>
任何人都知道如何阻止这种情况发生?此外,我意识到WordPress多站点安装将解决所有这些问题,但由于站点的大小和复杂性,迁移它们是不可能的。
-
更新:当您从http调用url并尝试强制https时,会出现此问题。因此,http://domainname.com/sub-folder-1变为https://www.domainname.comsub-folder-1。
答案 0 :(得分:0)
原来它与WordPress或.htaccess
文件无关。
之前的httpd.conf文件
<virtualhost *:80>
ServerName domainname.com
ServerAlias www.domainname.com
Redirect / https://www.domainname.com
</virtualhost>
httpd.conf文件现在
<virtualhost *:80>
ServerName domainname.com
ServerAlias www.domainname.com
Redirect / https://domainname.com/
</virtualhost>
我想重定向需要尾随正斜杠才能正确地重定向到子目录内。