表达式引擎页有时找不到www,与非www发现

我在ExpressionEngine 1.6网站上遇到了一个奇怪的问题。我添加了一个页面,并且有些人无法通过www访问该页面。在URL前面。没有www,似乎没有问题。它也似乎取决于我使用的浏览器 - 如果我使用Chrome浏览器,我无法在URL中看到带有www的页面,但是如果没有www,我可以看到。其他浏览器可以工作。我试过在Chrome中清除缓存无济于事。表达式引擎页有时找不到www,与非www发现

问题究竟是什么?

下面是.htaccess中的代码,以防万一它与此有关。

<IfModule mod_rewrite.c> 

RewriteEngine On

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]

RewriteRule ^(.*)$ /index.php/$1 [QSA,L]

RewriteCond %{QUERY_STRING} ^utm_medium

RewriteCond %{REQUEST_URI} ^/$ [NC]

RewriteRule (.*) /index.php?/pages/index/&%{QUERY_STRING} [L]

</IfModule>

回答:

这不是理想的有一个网站,就是在www和没有WWW都可以访问,因为这将意味着你的谷歌上市得到稀释,由于重复的内容。通过消除www,你也将解决你的问题:

# Remove the www from the URL 

# ------------------------------

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

应该在行“RewriteBase /”之后,并在您的主要重写之前。

另一种方法是添加WWW:

# Add the www to the URL (use instead of www removal) 

RewriteCond %{HTTP_HOST} !^www\. [NC]

RewriteCond %{HTTP_HOST} !^localhost [NC]

RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

也就是说,尝试和专门解决这个问题,我假设其他页面都很好,它特别只是这个网页?也可以通过在路径中包含index.php来访问页面?

这似乎重写有点奇怪:(。*) 的RewriteCond%{QUERY_STRING}^utm_medium 的RewriteCond%{REQUEST_URI} ^/$ [NC] 重写规则/index.php?/pages/index/ &%{ QUERY_STRING} [L]

如果此行是罪魁祸首和相关页面造成问题,请尝试将最后一行:(。*) 重写规则^ $ /index.php?/pages/index/ &%{ QUERY_STRING} [L] 或 RewriteRule(。*?)index.php?/ pages/index/&%{QUERY_STRING} [L]

以上是 表达式引擎页有时找不到www,与非www发现 的全部内容, 来源链接: utcz.com/qa/258647.html

回到顶部