在BlueHost中使用htaccess重命名url



我想在我的网站更改/重命名url。现在我只是在url中删除.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]
RewriteRule ^index.html /home [NC,L]
RewriteRule ^aboutus.html /about-us [NC,L]

不清楚为什么您会在这里得到500个错误,除非您将这些规则与处理.html无扩展url的前规则结合起来(这将导致重写循环,即。500错误)。

然而,你传递给RewriteRule指令的参数是错误的。您应该将/home重写为/index.html。第一个参数匹配请求的URL。第二个参数(替换字符串)表示要重写到的URL(或文件路径)。

你的指令应该像这样:

ErrorDocument 404 /errorpage.html
RewriteEngine on
RewriteRule ^home$ index.html [L]
RewriteRule ^about-us$ aboutus.html [L]

不需要替换字符串(第二个参数)上的斜杠前缀。

你应该在你的HTML源代码中链接到/home/about-us形式的url, mod_rewrite内部将这些请求重写到实际处理请求的相应文件

相关内容

  • 没有找到相关文章

最新更新