在htaccess文件中放置重定向的位置(删除html扩展名)

时间:2014-06-19 00:57:02

标签: html .htaccess redirect

我目前正在尝试重定向

www.mywebsite.com/folder.html至

www.mywebsite.com/folder

(我正在更改虚拟主机,我的旧主机使用了html网址,这些是搜索引擎索引的内容)

我发现我的解决方案的第一部分给了我重写代码: htaccess redirect all html files

但我似乎无法让它发挥作用。这是我的htaccess文件中的当前代码:

     # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule (.+)\.html$ /$1/ [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
# END WordPress

这是我在第一个回答这个问题后的第二次尝试。 (不确定我是否正确放置):

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index\.php$ - [L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
# END WordPress

以下是我的htaccess文件中的原始代码

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase //
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . //index.php [L]
</IfModule>
# END WordPress

我还需要做些什么来让它发挥作用吗?工作需要时间吗? 我不确定是否应该将其发布到原始问题或开始新的帖子,如果需要,我很乐意相应地移动它。

谢谢,

瓦莱丽

1 个答案:

答案 0 :(得分:0)

默认的Wordpress安装应该已经有了干净的网址。这是wordpress之外的东西吗?

您可以使用:

重写.html扩展名
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

如果您仍然遇到问题,请将修改前的.htaccess信息发给我,我会提供更详细的示例。


根据您的更新:

首先,对.htaccess文件的任何更改都会立即对服务器产生影响。第二,你需要重定向多少.html文件?一个更精确的解决方案是为每个网址重定向设置一个订单项。

例如,将其添加到.htaccess文件的底部(相应地更改文件名,我将其基于您的示例)。您可以复制需要重定向的每个页面的行。

Redirect 301 /folder.html http://www.mywebsite.com/folder

说明:
/folder.html 是页面的原始位置(与根目录相关), http://www.mywebsite.com/folder 是页面的当前位置。