【发布时间】:2014-05-31 01:26:57
【问题描述】:
首先:我注意到很多关于类似问题的主题,并且我已经安静地阅读了其中的一些。但是 non 似乎与我遇到的错误具有完全相同的性质。
在我的 DirectAdmin 面板中,我创建了一个名为 projects 的子域,DirectAdmin 自动在 FTP 上生成结构,子域解析到文件夹 public_html/projects/。在这个文件夹中,我计划为每个客户创建文件夹来添加他们的项目。
让我们举个例子:
- 客户叫“约翰逊”
- 名为“汽车”的项目
- 在这个文件夹中有一个 index.html 文件
- htaccess 文件位于此项目文件夹 (cars) 中
这个项目的域名是http://projects.mydomain.com/johnson/cars/,内部结构是public_html/projects/johnson/cars/。如果没有 htaccess 文件,一切正常,index.html 会自动打开。
现在是导致问题的部分。我正在使用 htaccess 重写以前在 www 上没有任何问题的 URL。子域,但由于我在项目文件夹中工作,因此导致 403 错误。
我期望的工作是:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options -Indexes
RewriteEngine On
RewriteBase /johson/cars/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*?)$ test.php?vars=$1 [L]
</IfModule>
test.php 没什么,只是var_dump() 的$_GET 变量的文件。但是显示 403 错误而不是这个页面。
我尝试了很多东西,例如:
- RewriteBase /cars/
- RewriteBase /projects/johnson/cars/
- RewriteBase /projects/
- RewriteBase /johnson/(几乎所有可以想到的变体)
- 重写基础/
- 在 RewriteRules 前面添加了
RewriteCond %{HTTP_HOST} ^projects\.mydomain\.com$ [NC]
但似乎没有任何帮助..我有点卡住了,我不知道该去哪里找。我在这里和谷歌上尝试了不同的搜索。也许我使用了错误的关键字,但我找不到类似的问题,我一直在尝试将解决方案合并到我的其他问题中,但没有任何成功。
感谢您的帮助。
【问题讨论】:
-
主 htaccess 中的规则是什么(
www子域)?另外,我不知道这是否是拼写错误,但您的RewriteBase包含johson而不是johnson -
rewritebase 是一个错字 :) 根目录包含一个类似的 htaccess 文件。但即使这个被禁用,错误仍然是一样的。
-
既然您收到了 403,您是否在您的
projects文件夹(以及其中的所有内容)上应用了足够的权限? -
我不确定你的意思?
-
无法在本地重现您的问题。请检查您的访问日志,了解与您看到的 403 页面相关的错误消息。
标签: .htaccess mod-rewrite subdomain