Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 如何将目录从任何域重写到同一域上的另一个目录? 设置_Wordpress_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Wordpress 如何将目录从任何域重写到同一域上的另一个目录? 设置

Wordpress 如何将目录从任何域重写到同一域上的另一个目录? 设置,wordpress,apache,.htaccess,mod-rewrite,Wordpress,Apache,.htaccess,Mod Rewrite,我使用的是Wordpress Multisite,每个子站点都有自己的域名。例如,我有: example.com主Wordpress安装 例1.com 例2.com 例3.com 其中每个示例站点都不是真正的目录,只是重写 在这些情况下,Wordpress上传目录看起来像是其中2是博客id 问题 我想给这些网站中的每一个在他们的领域,他们可以上传文件到wordpress以外的真实目录。比如: 我需要在.htaccess文件中使用哪些重写规则来重写路径为sitename.com/files/到ex

我使用的是Wordpress Multisite,每个子站点都有自己的域名。例如,我有:

example.com主Wordpress安装 例1.com 例2.com 例3.com 其中每个示例站点都不是真正的目录,只是重写

在这些情况下,Wordpress上传目录看起来像是其中2是博客id

问题 我想给这些网站中的每一个在他们的领域,他们可以上传文件到wordpress以外的真实目录。比如:

我需要在.htaccess文件中使用哪些重写规则来重写路径为sitename.com/files/到example.com/wp-content/uploads/sites/files/sitename.com的任何url/

我试过的 好吧,我对mod_重写规则一窍不通,但我没有运气尝试一下:

RewriteRule %{HTTP_HOST}/files/(.*) "http\:\/\/example\.com/wp-content/uploads/sites/files/%{HTTP_HOST}/$1" [L]
试试这个:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+\.[^.]+(\..*)?)$ [NC]
RewriteRule ^files/?$ /wp-content/uploads/sites/files/%1/ [NC,L]

我们首先排除主域,然后捕获附加域的非www部分并重写到相应的子目录。

谢谢!但是,只有当附加域的非www部分为/files/时,它才应该与条件匹配。其他的一切都应该通过这些条件来遵守Wordpress重写规则。请给出实际的示例URL。不清楚你在问什么,因为域名永远不会在其中。只能使用url路径。