2010-07-20 60 views
0

我有一个问题,让我的.htaccess工作就像我想,我想知道如果任何人都可以阐明这一点。问题mod_rewrite

这里是我的当前设置:

我的共享主机的网站可以通过http://www20.a2hosting.com/~myname/

访问我里面,我要访问若干子目录。例如 http://www20.a2hosting.com/~myname/subdir/public/index.php工作得很好。

现在我试图让我的subdir/public的所有调用都被重定向到我的index.php,并且在这种程度上我在我的子目录/ public中创建了一个.htaccess文件,如下所示:

RewriteEngine on 
RewriteRule ^.*$ index.php 

然而,当我直接把我的浏览器http://www20.a2hosting.com/~myname/subdir/public/ 我得到以下404错误:

The requested URL /home/myname/public_html/subdir/public/index.php was not found on this server. 

我在做什么错?

非常感谢!

+0

当您上传文件时,你确实把它们上传到'/家庭/ MYNAME /的public_html /'吧? – 2010-07-20 23:37:26

+0

@Tim是的,如果直接将它们输入到URL – user387302 2010-07-21 00:08:54

+0

@user:我可以访问这些文件。我只问,因为'mod_rewrite'会自动将'〜myname'扩展到主目录,而不管'mod_userdir'设置如何,所以我不知道这是否符合你的主机设置的方式。 – 2010-07-21 02:08:50

回答

1

尝试指定一个绝对路径作为重写目标:

RewriteRule ^.*$ /index.php 
+0

我刚刚尝试过,它最终将我重定向到一些默认的a2hosting.com页面,该页面告诉我,我一直试图访问的页面是我的cPanel,并给了我一个链接。很奇怪。 – user387302 2010-07-20 22:16:05

+0

@user奇怪。然后尝试'/ home/myname/public_html/index.php' – 2010-07-20 22:21:41

+0

我得到相同的index.php在这个服务器404错误找不到。 – user387302 2010-07-20 22:29:45