5

几个小时以来,我一直在各种网站上阅读 mod_rewrite 示例,并且在成功使用它之前已经多次使用它......但我现在正在尝试一些新的东西,但我一生都无法让它工作!

我正在使用一个名为的 PHP 文件管理器工具AjaXplorer,我将它放在服务器根目录的子目录中/ajaxplorer-core-4.0.4。当我转到我网站的根目录时,我http://domain.com/希望它不可见地重定向到该/ajaxplorer-core-4.0.4文件夹​​(但仍会在地址栏中显示根域)。

我仍然希望能够正常访问根目录上的其他文件/目录,只需输入路径即可。

我认为这是可能的?看起来相对简单,但我就是无法让它工作。

AjaXplorer 似乎从 加载 js 文件和图像等/ajaxplorer-core-4.0.4/plugins,我有一种感觉,这就是它让我绊倒的地方。

任何指针将不胜感激!谢谢

4

2 回答 2

10

幸运的是在另一个答案上找到了它:)

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?site.com$ 
RewriteCond %{REQUEST_URI} !^/subdir/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /subdir/$1 
RewriteCond %{HTTP_HOST} ^(www.)?site.com$ 
RewriteRule ^(/)?$ subdir/index.php [L]
于 2012-06-09T19:03:52.383 回答
0

如果这还不够:

两个提示:

如果您不在托管环境中(= 如果它是您自己的服务器并且可以修改虚拟主机,而不仅仅是.htaccess文件),请尝试使用该RewriteLog指令:它可以帮助您追踪此类问题:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

我最喜欢的检查正则表达式的工具:

http://www.quanetic.com/Regex(不要忘记选择 ereg(POSIX) 而不是 preg(PCRE)!)

于 2012-06-08T19:45:08.207 回答