如何根据开发/生产环境重写http root(htaccess问题)

时间:2010-08-21 21:01:20

标签: .htaccess mod-rewrite directory root

我有一个开发框,其中包含我的网站:

http://localhost/dev/

我的生产环境只是:

http://mydomain.com/

我的所有PHP脚本都自动调整到不同的路径,但每次我将更改上传到我的.htaccess文件时,我都需要手动将我的http_root目录“/ dev /”的任何提及更改为“/".

如何自动补偿更改的根目录?我查看了apache文档,但似乎无法正常工作。

一些重写的​​例子:

#Rewrite Index Requests
RewriteRule ^index\.(php|htm|html|asp|aspx|cfm|shtml|shtm)/?$ /dev/ [R=301,NC,L]
RewriteRule ^home\.(php|htm|html|asp|aspx|cfm|shtml|shtm)/?$ /dev/ [R=301,NC,L]

#Rewrite contact page requests
RewriteRule ^(.*)contact\.php/?$ /dev/Contact-Page [R,NC,L]
RewriteRule ^Contact-Page/?$ contactpage\.php [NC,L]

提前致谢。

2 个答案:

答案 0 :(得分:0)

我只是说不要使用与生产系统不同的根路径来开发它。

在您的测试系统上创建虚拟主机并不困难 - 实际上是微不足道的。只需使用一个。

答案 1 :(得分:0)

就个人而言,我建议使用vhosts和您的hosts文件,以便在环境之间移动时不必进行任何更改。只需确定您的开发域名,例如domainname.dev,并将其添加到您的hosts文件中。然后为该域添加一个vhost,该域具有/ dev /文件夹作为其根目录。