2012-10-12 149 views
6

Estoy usando OJS y lo he instalado dentro de una carpeta llamada "journals". He creado algunas revistas allí (por ejemplo, "diario1", "diario2", etc.).mod-rewrite eliminar el nombre de la carpeta de url

Ahora que estoy recibiendo caminos como este: www.example.com/journals/index.php/journal1, www.example.com/journals/index.php/journal2, etc.

Lo que quiero es mapear www.example.com/journals/index.php/journal1 se parece a www.example.com/index.php/journal1 (quitando la parte de diario de URL).

No puedo mover OJS a la raíz porque tengo algunos otros archivos allí.

Aquí está el archivo .htaccess el que estoy usando actualmente (está en la carpeta "revistas" y me da un 500)

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond $1 !^journals 
RewriteRule ^(.*) /journals/$1 [L] 
</IfModule> 

También Aquí está la 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

¿Tiene un archivo 'index.php' en la raíz del documento? –

+0

quieres decir raíz del proyecto? O raíz del sitio? Si raíz del proyecto-luego sí, si raíz del sitio-luego no. – MBanerjee

+0

Me refiero a site-root, como si 'http: // www.example.com/index.php' en realidad se resolviera en un recurso existente. –

Respuesta

3

Cuando ponga esas reglas dentro del archivo htaccess en su directorio /journals, está causando un bucle de reescritura. $1 nunca comienza con las revistas porque estás dentro del directorio de revistas, por lo que la regla sigue siendo aplicada.

Tendrá que poner algo como esto en su archivo .htaccess en su la raíz del sitio, el directorio /:

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

usted sabe qué - está funcionando. No puedo agradecerle lo suficiente :). – MBanerjee

+0

Hola Jon-Its funciona bien. Pero ahora se puede acceder a ambos sitios/journals/index.php/journal1 y site/index.php/journal1. Cómo puedo deshabilitar site/journals/index.php/journal1 parte y solo sitio/índice .php/journal1 – MBanerjee

Cuestiones relacionadas