【问题标题】:Problem with mod_rewritemod_rewrite 的问题
【发布时间】:2010-07-20 22:05:47
【问题描述】:

我无法让我的 .htaccess 像我想要的那样工作,我想知道是否有人可以对此有所了解。

这是我目前的设置:

http://www20.a2hosting.com/~myname/可以访问我的共享主机站点

我有几个想要访问的子目录。例如 http://www20.a2hosting.com/~myname/subdir/public/index.php 工作正常。

现在我正在尝试将所有对我的 subdir/public 的调用重定向到我的 index.php 并且在某种程度上我已经在我的 subdir/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.

我做错了什么?

非常感谢!

【问题讨论】:

  • 上传文件的时候,确实是上传到/home/myname/public_html/吧?
  • @Tim 是的,如果直接在 URL 中输入文件,我就可以访问这些文件了
  • @user:啊,好的。我之所以问是因为mod_rewrite 会自动将~myname 扩展到主目录,而不管mod_userdir 设置如何,所以我不知道这是否符合您的主机设置。
  • 您找到解决方案了吗?我面临着完全相同的问题。

标签: apache .htaccess mod-rewrite shared-hosting


【解决方案1】:

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

  RewriteRule ^.*$ /index.php

【讨论】:

  • 我刚刚尝试过,它最终将我重定向到某个默认的 a2hosting.com 页面,该页面通知我我必须尝试访问的页面是我的 cPanel,并给了我一个指向该页面的链接.很奇怪。
  • @user 奇怪。那就试试/home/myname/public_html/index.php
  • @user 对不起,那我不知道。但是 index.php 在哪里?如果它在 /myname 中,那么你需要把它放在那里。
  • 不用担心,感谢您的尝试。我有一张他们的支持人员开的票,所以希望他们能告诉我出了什么问题
猜你喜欢
  • 2010-09-16
  • 1970-01-01
  • 2012-02-16
  • 2015-03-31
相关资源
最近更新 更多