htaccess:将漂亮的URL与页面合并为目录列表

时间:2018-12-26 22:06:56

标签: .htaccess

我想为所有页面提供漂亮的规范URL:无文件扩展名,无斜杠。我也不想允许浏览目录。

以下内容可以完成这项工作:

# Enable rewrites
RewriteEngine on
RewriteBase /

DirectorySlash off

# -Indexes: No open dirs
# +MultiViews: accept requests with and without file extension
Options -Indexes +MultiViews

# Force www
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]


# Remove trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=302]

# Remove html file extension -> Canonical URLs
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^&\ ]+).html
RewriteRule .* /%1? [R=302,L]

问题是,我有一个包含博客帖子/blog的目录,并在/blog.html处添加了存档页面。由于.htaccess中的规则组合,服务器不允许访问该页面。相反,它返回:

  

禁止访问您无权访问此服务器上的/ blog。

以下是尝试浏览目录时显示的消息。是否可以:

  • 拥有漂亮的URL规则
  • 允许访问/blog.html
  • 避免浏览目录吗?

0 个答案:

没有答案