0

我的真实网址是:

www.mysite.com/site/index.php

我需要:

www.mysite.com/home.html

我在 .htaccess 中写道:

  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule (.*)/home.html$ /site/index.php

但是转到 404 错误

有什么帮助吗?

TK。

更新:

域实际上是:www.my-site.com 有什么影响?

更新:

我保存在 www.my-site.com 并为此进行更改:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteBase /
  RewriteRule ^home\.html$ site/index.php
</IfModule>

但没有工作。

4

4 回答 4

1

RewriteRule指令的模式部分匹配请求的路径(例如 /my/request/),不包括主机和查询字符串。另请注意,在.htaccess上下文中,前导斜杠不包含在模式中。

  Options +FollowSymlinks
  RewriteEngine On
  RewriteBase /
  RewriteRule ^home\.html$ site/index.php
于 2013-03-21T21:35:54.910 回答
1

在我的服务器中,我httpd.conf在 Apache 中进行了更改

AllowOverride NoneAllowOverride All

工作吧!

于 2013-06-27T22:20:37.303 回答
0

你在评论中说:

.htaccess 文件保存在 www.mysite.com/site/

这意味着,您可以使用当前模式访问www.mysite.com/site/anything/home.html该模式,该模式将被重写为www.mysite.com/site/site/index.php

您应该将 放在.htaccess文档根目录中,并且如前所述,从模式中删除此部分:(.*)/

于 2013-03-22T09:47:51.143 回答
0

该站点由 godaddy.com 托管,服务器通过 IIS 在 Windows 中运行,因此,必须将规则写入 web.config 文件。

<configuration>
 <system.webServer>
   <rewrite>
  <rules>
    <rule name="Imported Rule 1">
      <match url="^home\.html$" ignoreCase="false" />
      <action type="Rewrite" url="site/index.php" />
    </rule>
  </rules>
</rewrite>
 </system.webServer>
</configuration>

逆天!!

于 2013-03-27T19:26:36.917 回答