我们有一个在 8 个不同国家运行相同站点的网络代码。但是,我们不会向用户披露这些信息。以下是我们处理主题的方式。/httpdocs/themes/www.sitename.com/default/ 和在 htaccess 中,我们跳过带有 RewriteRule 的 www.sitename.com 部分,用户只能在他的浏览器位置看到 /httpdocs/themes/default。
这工作正常,但我们添加的站点越多,当我们需要在开发服务器和本地开发 PC 上创建此环境时,它就会出现问题。
我们如何处理这个地址定位问题。删除 htaccess 行并将所有内容放在配置文件中更容易,但它剥夺了我们已经实现的某种技巧。
更多信息
这是htaccess规则。
RewriteRule ^resources/image/(.*)$ resources/%{HTTP_HOST}/upload/image/$1 [L]
现在在本地,它变为文件夹 /resources/localsite/image 而在实时 /resources/www.sitename.com/image 上。
因此,由于我们通过 htacess 处理,因此该规则不适用于 Local。我所说的技巧是用户/管理员不知道我们在一个代码中很好地处理了这些站点。
尝试在 Vhost 中编写命令
在 Plesk 下的 vhost.conf create 中编写了此命令。
<If "%{SERVER_NAME} = 'www.sitename.com'">
SetEnv ThemePath www.sitename.com
</If>
但得到了错误。
Starting httpd: Syntax error on line 23 of vhost.conf: Invalid command <If,
perhaps misspelled or defined by a module not included in the server configuration