表达式引擎页有时找不到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