2012-10-12 8 views
6

Używam OJS i mam zainstalowany w folderze o nazwie "czasopisma". Stworzyłem tam kilka czasopism (na przykład "journal1", "journal2", itp.).mod-rewrite usuń nazwę folderu z adresu URL

Teraz jestem coraz ścieżki jak ta: www.example.com/journals/index.php/journal1, www.example.com/journals/index.php/journal2 itp

Co chcę jest mapowanie www.example.com/journals/index.php/journal1 do wyglądu jak www.example.com/index.php/journal1 (usunięcie części czasopism z URL).

Nie mogę przenieść OJS do roota, ponieważ mam tam inne pliki.

Oto plik .htaccess którego używam obecnie (jest w "czasopisma" folder i daje mi 500)

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

Również tutaj jest 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

Czy masz plik 'index.php' w katalogu głównym dokumentu? –

+0

masz na myśli root projektu lub root strony? Jeśli root projektu - a następnie tak, jeśli root witryny, a następnie nie. – MBanerjee

+0

Mam na myśli, site-root, jak to, czy 'http: // www.example.com/index.php' faktycznie rozwiązał istniejący zasób. –

Odpowiedz

3

kiedy umieść te reguły wewnątrz pliku htaccess w twoim katalogu /journals, powoduje to przeprogramowanie pętli. $1 nigdy nie zaczyna się od czasopism, ponieważ znajdujesz się w katalogu dzienników, dlatego reguła jest ciągle stosowana.

Musisz umieścić coś takiego w pliku .htaccess w site-root, katalog /:

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

wiesz co - działa. Nie mogę ci wystarczająco podziękować :). – MBanerjee

+0

Cześć Jon - działa poprawnie. Teraz dostępne są zarówno witryna/czasopisma/index.php/journal1, jak i site/index.php/journal1. Jak mogę wyłączyć witrynę/journal/index.php/journal1 część i tylko stronę/indeks .php/journal1 – MBanerjee