删除需要在网站上输入的扩展


Removing extensions from needing to be entered on a website

我已经在这里阅读了大量关于此的线程和问题,我一生都无法弄清楚。

试图做到这一点,所以当我访问我的网站时,我不必输入.html即可访问该页面例如:www.yoursite.com/help 而不是 www.yoursite.com/help.html

我试过:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}'.html -f
RewriteRule .* $0.html

在我的 .htaccess 文件中,它不起作用。

每当尝试在 url 中没有.html时,您仍然会被重定向到我的错误页面

任何帮助将不胜感激!

更新: .htacess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^'.]+)$ $1.html [NC,L]
ErrorDocument 400 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 405 /error.php
ErrorDocument 408 /error.php
ErrorDocument 500 /error.php
ErrorDocument 502 /error.php
ErrorDocument 504 /error.php

试一试:

ErrorDocument 400 /error.php 
ErrorDocument 403 /error.php 
ErrorDocument 404 /error.php 
ErrorDocument 405 /error.php 
ErrorDocument 408 /error.php 
ErrorDocument 500 /error.php 
ErrorDocument 502 /error.php 
ErrorDocument 504 /error.php
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ /%{REQUEST_URI}.html [L]

试试这个

RewriteRule ^([^'.]+)$ $1.html [NC,L]

源:http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/