首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用.htaccess隐藏扩展并防止用户使用扩展url访问?

如何使用.htaccess隐藏扩展并防止用户使用扩展url访问?
EN

Stack Overflow用户
提问于 2017-06-20 14:39:01
回答 1查看 729关注 0票数 1

这里是我的代码隐藏.html和.php扩展时,用户查看我的网站,http://example.com/xxx.htmlhttp://example.com/xxx,但我希望使用户时,他们输入http://example.com/xxx.html,他们不能访问,并跳转到404Notfind。

代码语言:javascript
复制
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteBase /

# Add trailing slash to url
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
  RewriteRule ^(.*)$ $1/ [R=301,L]

# Remove .php-extension from url
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.php -f
  RewriteRule ^([^\.]+)/$ $1.php 

# Remove .html-extension from url
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.html -f
  RewriteRule ^([^\.]+)/$ $1.html 

# End of Apache Rewrite Rules
 </IfModule>

有人找到解决办法了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 15:57:26

您可以将此添加为您的第一条规则:

代码语言:javascript
复制
RewriteCond %{THE_REQUEST} \.(?:html|php)\s [NC]
RewriteRule ^ - [R=404,L]

更新

也许这将解决您的ErrorDocument问题:

代码语言:javascript
复制
RewriteCond %{THE_REQUEST} \.(?:html|php)\s [NC]
RewriteCond %{REQUEST_URI} !=/error404.html
RewriteRule ^ - [R=404,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44656110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档