.htaccess не работает с конкретным хостингом - PullRequest
0 голосов
/ 26 марта 2012

У меня есть этот код в моем .htaccess:

DirectoryIndex index.php -->
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Он очень хорошо работает на моем локальном хосте (MAMP) и в сети с хостингом вроде MediaTemple, но с WAMP и другим хостом, таким как 1 и 1, он неработа!

У вас есть идеи, чтобы настроить это для работы везде?

Спасибо!

1 Ответ

0 голосов
/ 27 марта 2012

Попробуйте добавить RewriteBase / и удалить ./ из вашего index.php. В случае, если mod_rewrite недоступен, перенаправление 404 должно сработать, хотя я не уверен, насколько надежным будет ваше приложение, если вы в конечном итоге будете его использовать (мне никогда не приходилось использовать этот метод самостоятельно).

DirectoryIndex index.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

Кроме того, ваш первый RewriteCond не кажется необходимым просто потому, что правила 2 и 3 заботятся о том, чего он пытается достичь.

...