htaccess ModRewrite到根目录

时间:2013-02-07 11:52:27

标签: .htaccess mod-rewrite

我不知道有关htacess和modrewrite的大量信息,所以我发现自己陷入了另一个困境,为自己接近这个新区域。

我将在2个不同的问题上分离我的查询,以便让答案成为主题,并更好地针对搜索自己问题解决方案的用户。

首先让我先说一个应该很容易但我可能忽略的内容;

RewriteCond %{http_host} ^domain.com.au [nc]
RewriteRule ^(.*)$ https://www.domain.com.au/$1 [R=301,NC]

如你所见,我想要www。在URL中,我还使用php脚本强制https,但认为最好只使用它来处理两者,这样用户就不必等待2次转发。

上面的代码似乎运行正常,但它会将您带到域的根目录。

http://domain.com/index.php?page=hello
http://domain.com/dir/index.php?page=hello
http://domain.com/dir17/sub/index.php?page=hello

以上所有3个网址都会重定向到https://www.domain.com/index.php?page=hello

显然,这与modrewrite的目录深度有关,但我不知道如何确保它在本地将其应用于每个目录,而不是简单地直接返回根目录。

我一如既往地感谢你的帮助,这个网站上的一群人很棒:)

1 个答案:

答案 0 :(得分:0)

这有点晚了,但意识到它从来没有发布过答案。然而,经过大量的研究,我确实解决了这个问题;

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我当然希望这有助于其他人。