htaccess中的重写规则

米歇尔

我的网站结构如下:

- root
  - .htaccess
  - wordpress installation
  - folder xxx
    - wordpress

在我的.htaccess文件中,我有以下规则:

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

问题是它不允许我进入:

www.mywebsite.it/xxx 

因为发生了循环重定向。如果我删除规则,一切都会顺利进行。我该如何修改?我希望如果用户键入mywebsite.it/或mywebsite.it/xxx,它将被重定向到www版本。

我的.htaccess:

    <IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

非常感谢。

阿努巴瓦

该规则是孤立运行的,但Wordpress的东西正在劫持它。略有修改的规则:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  1. 确保选中这是后第1章RewriteEngine OnDOCUMENT_ROOT/.htaccess
  2. 确保WP permalink structure您具有站点地址,www.否则WP将再次将其发送回非www
  3. 如果您.htaccess在root之下有任何内容,那么他们应该在以下RewriteEngine On行的下面加上这一行:

    RewriteOptions Inherit
    

还要在其他浏览器中进行测试,以避免301缓存。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章