.htaccess 在BlueHost中使用htaccess重命名URL

nue99wik  于 2022-12-30  发布在  其他
关注(0)|答案(1)|浏览(103)

我想更改/重命名我网站的网址。现在我只是删除网址中的.html,如下所示:

ErrorDocument 404 /errorpage.html

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

我想更改URL。例如:index.html -> homeaboutus.html -> about-us等。我尝试更改,但收到服务器客户端错误500:

ErrorDocument 404 /errorpage.html

RewriteEngine on
RewriteRule ^index\.html /home [NC,L]
RewriteRule ^aboutus\.html /about-us [NC,L]
vshtjzan

vshtjzan1#

RewriteRule ^index\.html /home [NC,L]
RewriteRule ^aboutus\.html /about-us [NC,L]

不清楚为什么会在这里得到500错误,除非您将这些规则与处理.html无扩展名URL的前一个规则组合在一起(这将导致重写循环,即500错误)。
但是,您传递给RewriteRule指令的参数是错误的。您应该将 * 从 * /home重写为/index.html。第一个参数与请求的URL匹配。第二个参数(substitution string)表示要重写到的URL(或file-path)。
您的指令应该如下所示:

ErrorDocument 404 /errorpage.html

RewriteEngine on

RewriteRule ^home$ index.html [L]
RewriteRule ^about-us$ aboutus.html [L]

替换字符串(第二个参数)上的斜杠前缀不是必需的。
您应该链接到HTML源代码中/home/about-us的URL,mod_rewrite在内部将这些请求重写到实际处理请求的相应文件中。

相关问题