HTACCESS重定向问题,WordPress和静态HTML站点无法正确重定向



我在客户的网站上遇到问题。我已经为他创建了一个新的WordPress网站,现在我在HTACCESS重定向方面遇到了问题。

在我在服务器上安装WordPress之前,有两个静态的基本HTML点。使用主域和子文件夹中的一个完全不同的子站点中的一个在public_html根中,其中一个htaccess重写规则将子域引导到该文件夹中。

现在有WordPress弄乱了重定向。WordPress当然对原始的HTACCESS文件进行了修改。除此之外,客户还必须更改托管提供商中的服务器以获取更新的PHP版本,因此我必须从头开始编写HTACCESS文件。

这是当前的htaccess-file:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /www/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /www/index.php [L]
</IfModule>
# END WordPress
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomainfolder/
RewriteRule ^(.*)$ subdomainfolder/$1 [L]

安装在名为www的文件夹中的WordPress,并且正在重写URL,它可以很好地工作。但是我的子域有问题。在上面的代码中,我已经用subdomainurl.com替换了子域URL,该网站位于public_html/subdomainfolder/.

现在,当我键入www.subdomainurl.com时,将显示重定向的作品。但是www.subdomainurl.index.html键入。它必须写为www.subdomainurl.com/subdomainfolder/index.html,因此我显然没有编写重定向权,还添加了子域文件夹。我试图与该HTACCESS混合,但无法正确。每当我尝试更改某些内容时,我都会在主域的WordPress网站中获得404。

目前这些工作:www.maindomain.com/subdomainfolder/index.htmlwww.subdomainurl.com/subdomainfolder/index.html

这不是,我想做的:www.subdomainurl.com/index.html

我不是重定向的专家,任何帮助都将不胜感激。

编辑/addon:

这是从旧服务器中的旧代码,将子域重定向到子文件夹并重写URL,它不再起作用,所以我将其抛弃。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomainfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdomainfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteRule ^(/)?$ subdomainfolder/index.html [L]

我仅在htaccess文件中看到仅用于子域和主要域的条目。

当前我正在使用此代码

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /www/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /www/index.php [L]
</IfModule>
END WordPress
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$ [NC]
RewriteCond %{REQUEST_URI} !subdomainfolder
RewriteRule ^(.*)$ subdomainfolder$1

这将整个次级域(subdomainurl.com)加载为www.subdomainurl.com/subdomainfolder,它的工作原理(www.subdomainurl.com/subdomainurl.com/subdomainfolder/index.htex.html,www.subdomainurl.com/subdomainfoll.com/subdomainfolderworder/work。html等),但它仍然不是客户真正想要的。我仍然需要从HTACCESS的URL中消除子域折叠式零件,到目前为止,我还没有成功。我想我还没有在代码的最后一行中正确。

最新更新