帮助我的.htaccess文件

时间:2011-09-19 23:26:17

标签: file .htaccess

我不知道为什么会这样,但是我可以在不输入.html扩展名的情况下访问html页面。这导致重复的内容。

示例:如果您输入

http://www.math-aids.com/Addition/Single_Digit将转到

http://www.math-aids.com/Addition/Single_Digit.html档案。

我的所有文件都会发生这种情况。

我不希望这种情况发生。如果有人没有输入.html文件,那么我希望它返回404错误“找不到文件”。

我该如何解决这个问题?我完全删除了.htaccess文件,它仍然会发生。

这是我的.htaccess文件。

Options +FollowSymlinks
rewriteengine on
RewriteBase /

### re-direct IP address to www
### re-direct non-www to www
RewriteCond %{http_host} !^www.math-aids.com$ [nc]
RewriteRule ^(.*)$ http://www.math-aids.com/$1 [r=301,nc,L] 

### re-direct index.html to root / ###
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*\/index\.html?\ HTTP/
RewriteRule ^(.*)index\.html?$ "/$1" [R=301,L]

### re-direct index.php to root / ###
RewriteCond %{THE_REQUEST} ^.*\/index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

### re-direct default.html to root / ###
RewriteCond %{THE_REQUEST} ^.*\/default\.html\ HTTP/
RewriteRule ^(.*)default\.html$ /$1 [R=301,L]

### re-direct home.html to root / ###
RewriteCond %{THE_REQUEST} ^.*\/home\.html\ HTTP/
RewriteRule ^(.*)home\.html$ /$1 [R=301,L]

### re-direct errors to error page
ErrorDocument 404 /missing.html 

2 个答案:

答案 0 :(得分:0)

  

我该如何解决这个问题?我完全删除了.htaccess文件,它仍然会发生。

这是因为您发布的.htaccess文件未向任何内容附加.html个后缀。它必须是您的主Apache配置中的另一个.htaccess文件或其他内容。

答案 1 :(得分:0)

听起来你在Apache配置中的某个地方有“Options MultiViews”(而不是.htaccess文件)。

请参阅http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#multiviews