.htaccess RewriteRules不起作用

时间:2017-04-13 20:38:47

标签: html apache .htaccess mod-rewrite

我有点问题。我正在尝试设置我的网站,一切正常,但我遇到了 .htaccess 文件的问题。

我想从页面文件夹访问文件时从网址中删除.html结尾和pages/部分

示例:

http://example.com/pages/name.html http://example.com/name

这是我现在正在使用的代码:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)\$ \$1.html

RewriteRule ^pages/(.+)\.html /$1.html [R=301,L]

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以在站点根目录中使用这些规则.htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+pages/(.+?)\.html[\s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/$1.html -f
RewriteRule ^(.+?)/?$ pages/$1.html [L]