我的真实网址是:
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>
但没有工作。
答案 0 :(得分:1)
RewriteRule指令的模式部分匹配请求的路径(例如/ my / request /),主机和查询字符串不包括在内。另请注意,在 .htaccess 上下文中,前导斜杠不包含在模式中。
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^home\.html$ site/index.php
答案 1 :(得分:1)
在我的服务器中,我更改了Apache中的httpd.conf
AllowOverride None
至AllowOverride All
工作吧!
答案 2 :(得分:0)
你在评论中说:
文件.htaccess保存在www.mysite.com/site/
中
这意味着,使用当前模式,您可以访问www.mysite.com/site/anything/home.html
,这将被重写为www.mysite.com/site/site/index.php
您应该将.htaccess
放在文档根目录中,并按照建议的方式从模式中删除此部分:(.*)/
答案 3 :(得分:0)
此站点由godaddy.com托管,服务器在Windows上通过IIS运行,因此,规则必须写入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>
难以置信!!