2009-06-01 63 views
4

默认情况下,我的本地开发PC设置为使用PHP5,我的客户端主机(1and1.co.uk)默认设置为使用PHP4。如何根据域有条件地添加一行到Apache .htaccess?

如要启用的1and1帐户PHP5,你必须将下面一行添加到您的.htaccess文件:

AddType x-mapp-php5 .php 

如果我这一行添加到我的本地.htaccess文件,它打破了我的PHP。

如何根据域(或其他参数?)有条件地添加此行,以便它仅由活动站点执行,而不是由我的开发站点执行?

我希望能够上传(FTP)我的整个源代码树,而不必担心必须记住随时编辑服务器上的.htaccess。

例如

<IfDomain www.example.com> 
    AddType x-mapp-php5 .php 
</IfDomain> 

... rest of .htaccess 

这可能吗?

我没有访问服务器的配置文件,事先只的.htaccess

感谢。

回答

1

给别人看这一点,并使用带有虚拟主机的指令在本地服务器上运行:我花了一段时间,没有方法找到在线工作(可能是因为我的MAMP apache版本不是2.4版本或者其他),但是这样做了。

忘掉将'条件'行添加到.htaccess文件中:您可以定义在您的虚拟主机设置中使用哪个.htaccess文件!

所以只需要创建一个文件.htaccess_dev,这行添加到您的虚拟主机定义本地/ dev的机器:

AccessFileName .htaccess_dev 

因此,它成为这样的事情:

<virtualhost> 
ServerName www.example.local 
DirectoryRoot /var/www/www.example.local 
AccessFileName .htaccess_dev 
</virtualhost> 
0

试试这个。我不知道它是否会起作用。文件中使用的术语表明它应该,但是由于没有人做过你想做的事情,所以它在空中有点儿。

<Location http://www.example.com/> 
    AddType x-mapp-php5 .php 
</Location> 
+0

在充满更少的细节让你对自己想要达到的目标有更好的了解。 – RichardAtHome 2009-06-01 15:26:05

0

我知道您可以使用VirtualHost标记在httpd.conf中执行特定于服务器的命令。 (http://httpd.apache.org/docs/1.3/vhosts/ip-based.html

虽然我不是100%肯定,你可以在.htaccess文件使用这个,我会建议尝试以下操作:

<VirtualHost www.example.com> 
    AddType x-mapp-php5 .php 
</VirtualHost> 
+0

你可以。请参阅下面的同步发布我是一个stackoverflow noob所以不知道如何合并这两个职位。 – nategood 2009-06-01 16:54:18

0

您可以使用虚拟主机的指令来实现这一目标。我只是做了同样的当我想用mod_python的Django的仅在一个子

<VirtualHost *:80> 
DocumentRoot /www/docs/path 
ServerName www.example.com 
.... 

AddType x-mapp-php5 .php 
</VirtualHost> 
相关问题