Apache mod rewrite从url中删除文件夹名称

Apache mod rewrite从url中删除文件夹名称,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在使用,并已将其安装在名为“journals”的文件夹中。我在那里创建了一些日志(例如“journal1”、“journal2”等) 现在我得到了如下路径:www.example.com/journals/index.php/journal1, www.example.com/journals/index.php/journal2等 我想要的是映射www.example.com/journals/index.php/journal1 to看起来像www.example.com/index.p

我正在使用,并已将其安装在名为“journals”的文件夹中。我在那里创建了一些日志(例如“journal1”、“journal2”等)

现在我得到了如下路径:
www.example.com/journals/index.php/journal1
www.example.com/journals/index.php/journal2

我想要的是映射
www.example.com/journals/index.php/journal1
to看起来像
www.example.com/index.php/journal1
(从URL中删除日志部分)

我无法将OJS移动到root,因为我在那里有一些其他文件

这是我目前正在使用的
.htaccess
文件(它在“journals”文件夹中,给我一个500)


当您将这些规则放入
/journals
目录中的htaccess文件中时,会导致重写循环<代码>$1从不以日记账开始,因为您位于日记账目录中,因此该规则一直得到应用

您需要在站点根目录中的htaccess文件中放入类似的内容,即
/
目录:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/journals
RewriteRule ^index\.php(.*)$ /journals/index.php$1 [L]

您的文档根目录中是否有
index.php
文件?您是指项目根目录?还是站点根目录?如果是项目根目录,那么是;如果是站点根目录,那么不是。我的意思是站点根目录,是否
http://www.example.com/index.php
实际解析为一个现有资源。不。只有index.html存在于站点根目录中。您好,它工作正常。但是现在可以访问site/journals/index.php/journal1和site/index.php/journal1。如何禁用site/journals/index.php/journal1部分和site/index.php/journal1部分
[Fri Oct 12 22:16:45 2012] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/journals
RewriteRule ^index\.php(.*)$ /journals/index.php$1 [L]