Regex 正在将子目录重定向到.htaccess中的子域

Regex 正在将子目录重定向到.htaccess中的子域,regex,apache,.htaccess,mod-rewrite,subdomain,Regex,Apache,.htaccess,Mod Rewrite,Subdomain,我想使用.htaccess将子目录重定向到子域。我当前的代码: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{HTTP_HOST}

我想使用
.htaccess
将子目录重定向到子域。我当前的代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^(www.)?sub.example.com$
RewriteRule ^(/)?$ subdirectory [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写cond%{HTTP_HOST}^(www.)?sub.example.com$
重写规则^(/)?$子目录[L]

此代码重定向到
sub.example.com/subdirectory
。如何从新URL中删除
/subdirectory

将此规则放在所有其他规则之前的顶部:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^subdirectory/(.*)$ http://www.sub.example.com/$1 [L,NC,R=301]
完成。htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

RewriteCond %{HTTP_HOST} ^(www\.)?sub\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !(jpe?g|gif|bmp|png|tiff|css|js)$ [NC]
RewriteRule !subdirectory subdirectory%{REQUEST_URI} [NC,L]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

重新启动发动机
重写基/
重写cond%{HTTP_HOST}^(www\)?示例\.com$[NC]
重写规则^subdirectory/(.*)$http://sub.example.com/$1[L,NC,R=301]
RewriteCond%{HTTP_HOST}^(www\.)?sub\.example\.com$[NC]
重写cond%{REQUEST_URI}!(jpe?g | gif | bmp | png | tiff | css | js)$[NC]
重写规则!子目录子目录%{REQUEST_URI}[NC,L]
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]

谢谢您的回答!现在我可以访问sub.example.com,但出现了两个问题:Wordpress乱七八糟,下面是它的屏幕截图:-没有模板结构、样式等。第二个问题是,现在example.com/subdirectory指向www.sub.example.com-而www是一个缺失的URL。如果我们将www重定向到非www,可能会解决这个问题?因为style、JS等解决方案很简单,只需在css、JS、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以
http://
或斜杠
/
开头。我还可以知道
www.sub.example.com是否也由Wordpress管理?是的,sub.example.com在Wordpress上。我没有收到你之前的建议-我必须手动编辑网站的CSS吗?非常感谢,Anubhava!你太棒了!:)