所以我一直试图让这个重定向代码现在工作几个小时,这让我发疯。我有相反的方向(非www到www)与此代码工作:.htaccess将www重写为非www重定向问题
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*) http://www.%{HTTP_HOST} [R=301]
我发现了上述代码在这里: https://stackoverflow.com/questions/3013730/redirecting-non-www-to-www
我不得不删除从第三行的$ 1代码来得到它的工作:
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]
我需要的是www.example.com重定向到example.com
并在每一页上www.example.com重定向到网址完全相同,减去WWW。
www.example.com/test --->example.com/test
www.example.com/begin.php --->example.com/begin。 php
等等等等。由于我有最上面的代码部分工作在相反的方向,我认为只需切换几个事情并在几分钟内完成工作就很容易,但我总是会遇到404s,无限循环,以及什么有你。主要问题是我不完全理解这部分代码:
^[^.]+\.[^.]+$
apache greenie的任何帮助?太感谢了!
--- 编辑 ---
我发现了一个代码,是更接近我想要的,但它有自己的问题的份额。的代码是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^.*$ http://example.com%{REQUEST_URI} [R=301,L]
有两个问题与此代码:
1)当我在example.com/test键入,它首先穿过www.example.com/test如果可能的话,我希望避免这种情况。
2)当我在example.com/test键入,它在example.com/test.php结束了,我想避免具有与所述.PHP扩展作为文件最终目的地。有什么建议么?
谢谢您的回复!正如所写,这给了我一个无限循环像example.com/example/example/example/example(等等等等)。我发现另一个代码主要是我想要的,但它仍然给我一些问题(请参阅上面的编辑)。 –
@RichardColeman我更新了我的答案,以防止任何循环的可能性。 –
再次感谢您的帮助。当我尝试www.example.com时,新代码仅仅是404s。我开始认为这是我的网络主机(1和1),这是导致问题的原因,因为几乎所有其他人都没有遇到同样的问题。 –