2011-06-06 187 views
1

我完全没有使用.htaccess的经验,今天我尝试了一些东西。我基本上想要我所有的页面从http://www开始。重定向到http://重定向到www .htaccess不重定向

,所以我做了一个在互联网上搜索,发现此链接:

http://forum.joomla.org/viewtopic.php?p=2437275

再次我绝对不知道我在做什么,我只是复制粘贴此

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^(.*) http://example.com/$1 [L,R=301] 

到我的public_html目录.htaccess文件

我测试进入一个http://www网站,但ñ没有发生,所以我刚刚删除.htaccess文件中的所有内容,因为它在一开始就完全是银行。

,所以我测试了这个

# Redirect to www 
RewriteCond %{HTTP_HOST} !^(www\.example\.com)?$ 
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

,然后这样的:

# Redirect to non-www 
RewriteCond %{HTTP_HOST} !^(example\.com)?$ 
RewriteRule (.*) http://example.com/$1 [R=301,L] 

就像文章说

但现在几个小时后,我注意到一些奇怪的东西。我的一个来自jquery的ajax调用需要1分钟才能完成..有什么我可以做的撤消这个?它几乎就像文章所说的那样有一个无限循环。我不知道该怎么做。

一切工作在本地主机上..

问候, 亚历山大

+0

“什么都没发生”?网站没有变化?你有空白页面?你为什么不看服务器日志(错误和访问),看看发生了什么?现在,您在诊断问题时绝对没有任何用处。 – 2011-06-06 14:22:13

+1

您是否已将example.com替换为您的实际域名? – 2011-06-06 14:23:05

+1

它不能是一个无限循环,如果它在一分钟内完成... – 2011-06-06 14:25:42

回答

4

你必须有

RewriteEngine on 

在你的文件的开头。

这可能很明显,但由于您没有经验,以防万一,您必须将example.com替换为您的域名。

确保你确实拥有和Apache服务器。

确保您的文件命名“的.htaccess”(用点,没有‘’)

所以,这应该工作:你做的

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^(.*) http://example.com/$1 [L,R=301] 

我真怀疑什么。 htaccess可能会降低AJAX调用的速度,请检查.htaccess是否现在为空,如果是,它肯定不会影响它。

+0

你是绝对正确的,非常感谢你现在的工作,但仍然ajax呼吁永远..你们认为这与我编辑.htaccess文件或做它必须是别的东西吗? – Alexander 2011-06-06 14:29:16

+1

它真的很奇怪因为它的工作就像它应该以前一样,它仍然在localhost上工作..最奇怪的部分是它唯一的ajax调用..其余的工作正常。我从本地复制文件只是为了肯定,但仍然是这样的..它令人沮丧,当这种神秘的东西发生..我甚至不知道从哪里开始寻找 – Alexander 2011-06-06 14:33:12

+0

@亚历山大:我真的怀疑它可能是相关的,但如果你想要确定的是,如果它仍然很慢,试着使用'#'注释掉.htaccess文件中的所有内容,你几乎可以肯定它们是不相关的。 – Trufa 2011-06-06 14:33:25

5

更优化的版本,没有域的依赖

只是简单的复制和在任何领域粘贴,它会工作。

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]