Apache 在.htaccess中使用重写规则时出现错误404
我目前正在通过友好的URL提高网站的可用性。我已经这样做过好几次了,我通常使用.htaccess隐藏*.php或*.html扩展名,代码如下:Apache 在.htaccess中使用重写规则时出现错误404,apache,.htaccess,url,web,url-rewriting,Apache,.htaccess,Url,Web,Url Rewriting,我目前正在通过友好的URL提高网站的可用性。我已经这样做过好几次了,我通常使用.htaccess隐藏*.php或*.html扩展名,代码如下: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.html [NC,L] 但是,此代码似乎无法在该网站所在的服务器上工作。如果我尝试在未添加扩展的情况下访问,则会出现404 not found错误 有没有办法解决这个问题?试试这个: Rew
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
但是,此代码似乎无法在该网站所在的服务器上工作。如果我尝试在未添加扩展的情况下访问,则会出现404 not found错误
有没有办法解决这个问题?试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
在.htaccess中,只需启用
多视图
选项即可启用无扩展URI
Options +MultiViews
选项MultiViews
由Apache的内容协商模块使用,该模块在mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。所以/file
可以在URL中,但它将提供/file.html
添加此行后,请注释掉所有其他重写规则。是否启用了重写模块?是的,启用了。我还将www.添加到没有它的请求中,并在@StarkeenThanks@anubhava.的建议中完美运行。htaccess文件似乎工作正常。也不工作。我以前也尝试过这个解决方案。谢谢你的建议@Starkeen