我的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自动在重写之前加上'/'。
非常感谢
答案 0 :(得分:0)
将其更改为:
RewriteCond %{REQUEST_URI} ^/folder/([^\.]+)
RewriteRule ^([^\.]+)/([^\.]+)$ http://%{HTTP_HOST}/$1.php/$2 [NC,L]