重写规则跨环境保存path

我试图想出一些redirect规则,将在我的本地工作目录和生产工作。 问题是我的本地开发环境工程通过“本地主机/ exp”作为生产从域名“www.lorem.com”的根源。

这样做:

RewriteEngine On RewriteCond ^rec.php /core/rec [R=301,L] 

在生产工作不用担心,但在我本地redirect到:“本地主机/核心/ rec”,在那里我想要它是“本地主机/ exp / core / rec”

我宁愿不必在那里硬编码“exp”,到目前为止,我发现唯一的办法是每个环境都有独立的规则,我可以在我的本地使用:

 RewriteEngine On RewriteCond %{REQUEST_URI} (.*)/exp/(.*) RewriteRule ^rec.php /exp/core/rec [R=301,L] 

感谢这一个帮助。 谢谢!

使用与任何“服务器内部”匹配的RewriteCond前缀您的RewriteRule(s)。 在这里查看服务器内部的完整列表。

SERVER_NAME是我最喜欢使用的一个,所以例如你的RewriteRule会使用这个(额外的)前缀:

 RewriteCond %{SERVER_NAME} localhost 

或者用于localhost以外的其他用户:

 RewriteCond %{SERVER_NAME} !localhost