我想更改/重命名我网站的网址。现在我只是删除网址中的.html
,如下所示:
ErrorDocument 404 /errorpage.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
我想更改URL。例如:index.html -> home
、aboutus.html -> about-us
等。我尝试更改,但收到服务器客户端错误500:
ErrorDocument 404 /errorpage.html
RewriteEngine on
RewriteRule ^index\.html /home [NC,L]
RewriteRule ^aboutus\.html /about-us [NC,L]
1条答案
按热度按时间vshtjzan1#
不清楚为什么会在这里得到500错误,除非您将这些规则与处理
.html
无扩展名URL的前一个规则组合在一起(这将导致重写循环,即500错误)。但是,您传递给
RewriteRule
指令的参数是错误的。您应该将 * 从 */home
重写为/index.html
。第一个参数与请求的URL匹配。第二个参数(substitution string)表示要重写到的URL(或file-path)。您的指令应该如下所示:
替换字符串(第二个参数)上的斜杠前缀不是必需的。
您应该链接到HTML源代码中
/home
和/about-us
的URL,mod_rewrite在内部将这些请求重写到实际处理请求的相应文件中。