Apache 使用mod_rewrite(ajaxplorer)不可见地将根目录重写到子目录

Apache 使用mod_rewrite(ajaxplorer)不可见地将根目录重写到子目录,apache,mod-rewrite,pydio,Apache,Mod Rewrite,Pydio,我已经在各种网站上阅读了几个小时的mod_rewrite示例,并且在成功使用它之前已经使用过很多次了。。。但我现在正在尝试一些新的东西,我的生活不能让它工作 我正在使用一个名为AjaXplorer的PHP文件管理工具,它位于我的服务器/AjaXplorer-core-4.0.4根目录中。当我转到网站的根目录时http://domain.com/我希望它以不可见的方式重定向到/ajaxplorer-core-4.0.4文件夹(但仍在地址栏中显示根域) 我仍然希望能够访问根目录上的其他文件/目录,正

我已经在各种网站上阅读了几个小时的mod_rewrite示例,并且在成功使用它之前已经使用过很多次了。。。但我现在正在尝试一些新的东西,我的生活不能让它工作

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

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

我想这是可能的?看起来比较简单,但我就是不能让它工作

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

任何指点都将不胜感激!谢谢

  • 这是我们的维基
如果这还不够:

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

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

我最喜欢的检查regexp的工具:


(别忘了选择ereg(POSIX)而不是preg(PCRE)!

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


我所有的链接(和建议都是关于语法和逻辑的)当没有启用漂亮的永久链接时,这非常有效。如果我们启用永久链接,如何确保www.domain.com/section1->www.domain.com/wordpress/section1不返回错误404?我想我解决了这个问题。要编辑/wordpress目录中的.htaccess文件,就在您启用相当长的永久链接之后:行
RewriteRule/index.php[L]
应更改为
重写规则。wordpress_subdir/index.php[L]
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]