我正在使用OJS,我已将其安装在名为“journals”的文件夹中。我在那里创建了一些期刊(例如“journal1”,“journal2”等)。
现在我得到这样的路径:www.example.com/journals/index.php/journal1
,
www.example.com/journals/index.php/journal2
等等。
我想要的是映射www.example.com/journals/index.php/journal1
看起来像www.example.com/index.php/journal1
(从URL中删除日记部分)。
我无法将OJS移动到root,因为我还有其他文件。
这是我目前正在使用的.htaccess
文件(它位于“journals”文件夹中并给我500个)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^journals
RewriteRule ^(.*) /journals/$1 [L]
</IfModule>
此处还有error.log
[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.
答案 0 :(得分:3)
当您将这些规则放在/journals
目录中的htaccess文件中时,它会导致重写循环。 $1
永远不会从期刊开始,因为您在期刊目录中,因此规则不断得到应用。
您需要在 site-root ,/
目录中的htaccess文件中输入类似内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/journals
RewriteRule ^index\.php(.*)$ /journals/index.php$1 [L]