Git 两种环境之间的不同htaccess(xamp)

Git 两种环境之间的不同htaccess(xamp),git,apache,.htaccess,mod-rewrite,environment,Git,Apache,.htaccess,Mod Rewrite,Environment,我有两个环境: “prod”和“test” “prod”env。位于/site目录中,他自己位于网站的根目录中 http://wwww.exemple.com/site/index.php “测试”环境。不在根网站上: http://wwww.exemple-test.com/wwww.exemple.com/site/index.php 我想安装GIT和so.htaccess在2环境上必须相同 在“prod”env上,htaccess必须看起来: 在根上: RewriteEngine O

我有两个环境: “prod”和“test”

“prod”env。位于/site目录中,他自己位于网站的根目录中

http://wwww.exemple.com/site/index.php
“测试”环境。不在根网站上:

http://wwww.exemple-test.com/wwww.exemple.com/site/index.php
我想安装GIT和so.htaccess在2环境上必须相同

在“prod”env上,htaccess必须看起来:

  • 在根上:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ site/index.php [NC,L]
    
  • 在/site目录中

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ site/index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
在“test”env上,htaccess必须看起来

  • 在/ww.example.com/目录中

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ site/index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
  • 在/ww.example.com/site目录中

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ site/index.php [NC,L]
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ index.php [NC,L]
    
但它不起作用。为什么?

那么css/js/呢。。。它们是开/静态目录, (例如,使用jquery)


两个虚拟主机肯定会更干净、更容易,而且只需“花费”一个子域名


对于我自己的项目,我在开发中使用.htaccess文件,但在生产配置中-我明确不读取该文件,而是将
重写cond
等作为
配置的一部分。这也给了生产上一个小小的提速。

“它不工作”几乎总是一个糟糕的描述。你期待什么?那么会发生什么呢?这与git有什么关系?为什么如此复杂?为什么不使用两个独立虚拟主机的简单设置,一个用于prod,一个用于测试?这样,http主机就有了两种不同的配置,您可以分别执行每个环境所需的任何操作。只有常见的东西才会进入动态配置文件(顺便说一句,你应该尽量避免这些,无论如何你应该更喜欢http主机配置)。如果我改变了,我就不会落在好的目录下,或者好的文件,或者静态文件都不可见。与git相关的是,htaccess必须与2env相同。(我不想“忽略”这个文件)阿卡斯卡:为什么这么复杂?我是一个新来的中介,虽然我做了你之前说的,但这不是这个中介的工作方式。(在更改之前…)