重定向到www .htaccess不重定向

时间:2011-06-06 14:17:48

标签: php .htaccess mod-rewrite

我绝对没有.htaccess的经验,今天我尝试了一些东西。我基本上希望我的所有页面都以http://www开头。重定向到http://

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

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分钟才能完成..有什么办法可以撤消这个吗?它几乎就像文章所说的无限循环。我不知道该怎么做。

一切都适用于localhost ..

此致 亚历山大

2 个答案:

答案 0 :(得分:5)

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

只需在任何域中进行简单的复制和粘贴即可。

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

答案 1 :(得分: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现在是否为空,如果是,它肯定不会影响它。