如何使用htaccess在同一台服务器上拥有开发和生产环境

时间:2014-08-19 22:18:53

标签: apache .htaccess

我正在尝试让我的开发和生产在同一台服务器上运行。我有一个htaccess文件,应该将您发送给其中一个。所以www.website.com/dev / ...的所有网址都会将您发送到开发文件夹。所有其他网址都会将您发送到生产文件夹。

生产工作正常。

当我使用seo友好的URL时,开发方面不起作用。

www.website.com/dev/index.php(works)

www.website.com/dev/register/(没有工作)

这是我的代码

RewriteEngine on
Options +FollowSymlinks
RewriteBase /

#don't let them access the .htaccess file
RewriteRule ^\.htaccess$ - [F]

#don't let people refer to our pictures
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?website.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ http://www.website.com/index.php [R,L]

RewriteRule ^(dev/)(.*) devFolder/$2 [L]
RewriteRule ^(.*)$ productionFolder/$1 [L]
RewriteRule ^.*$ http://www.website.com/index.html [NC,L]

在每个子文件夹中都有一个.htaccess文件,它们都是相同的。这里有一个重写代码在这些内容中的样子。

#registration
RewriteRule ^[rR]egister$ register_login.php [L]
RewriteRule ^[rR]egistered$ register_login.php [L]

1 个答案:

答案 0 :(得分:0)

以下是最终为我工作的内容。

在根文件夹

RewriteRule ^(dev/)(.*) devFolder/$2 [L]
RewriteRule ^(.*)$ productionFolder/$1 [L]

在子文件夹中.htaccess文件是相同的,除了dev文件夹中的重写基础

RewriteBase /dev/