删除htaccess RewriteRule上的开始正斜杠

时间:2014-08-05 23:50:20

标签: apache .htaccess mod-rewrite

我的htaccess文件中的正斜杠存在问题。我需要这个htaccess在具有不同域名的多个服务器上工作。

我正在尝试使用%{HTTP_HOST}参数来使rewriterule的域部分动态化。它在大多数情况下都有效,除了域名在domain.com前面放置'/'之外

示例:

/domain.com/folder/detail

如何删除第一个'/'?这是我的代码:

RewriteCond %{REQUEST_URI} ^/folder/([^\.]+)
RewriteRule ^([^\.]+)/([^\.]+)$ %{HTTP_HOST}/$1.php/$2 [NC,L]

我不是要尝试重定向到另一个域,这个htaccess文件将包含一个需要在多个服务器(本地和远程)上运行的项目。它们都有不同的域名。所以htaccess需要对它充满活力。

在一个远程服务器上,它试图从文档的根目录路由,而不是通过像http://domain.com这样的http_host。所以这就是我放入%{HTTP_HOST}的原因。

问题是rewriterule自动在重写之前加上'/'。

非常感谢

1 个答案:

答案 0 :(得分:0)

将其更改为:

RewriteCond %{REQUEST_URI} ^/folder/([^\.]+)
RewriteRule ^([^\.]+)/([^\.]+)$ http://%{HTTP_HOST}/$1.php/$2 [NC,L]