网址重写中的404错误以获取用户友好的网址

时间:2015-12-03 14:55:55

标签: apache .htaccess mod-rewrite url-rewriting

我在共享主机上有一个静态html网站。 我想将这些html文件转换为用户友好的URL。 IE:website.com/web-design.html变为website.com/web-design/ 我正在使用这些规则,以便在我请求website.com/web-design/时提供相应的html文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^\.]+)$ $1.html

如果我在浏览器中输入website.com/web-design(不带斜杠),而是使用website.com/web-design/,我会收到404错误:

The requested URL /web-design.html/ was not found on this server.

我想要两个网址(有和没有斜杠)工作...... 似乎在html文件的末尾添加了斜杠,给出了404。 我无法弄清楚如何解决它...... 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您应该尝试这样的规则

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /$1.html [L]