2012-06-07 4 views
1

У меня есть WAMP v2.2, установленный на моем компьютере под управлением Windows 7 с включенными виртуальными хостами.Невозможно удалить index.php на ExpressionEngine Установка WAMP

Я успешно установил ExpressionEngine для одного из моих локальных сайтов, и все отлично работает, за исключением случаев, когда я пытаюсь удалить index.php из URL с помощью approved .htaccess method. Я все равно получаю ошибку 404, если index.php отсутствует, но страница отображается с индексом index.php в URL.

Я убедился the rewrite module was checked in the Apache menu. Я успешно использовал этот метод десятки раз на коммерческих хостах, поэтому я в тупике.

Обновление для @pvledoux:

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # Removes index.php 
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /index.php/$1 [L] 

    # If 404s, "No Input File" or every URL returns the same thing 
    # make it /index.php?/$1 above (add the question mark) 
</IfModule> 

Примечание: "?" Я попытался добавить в правило, но это не сработало.

Сайт находится в корне виртуального хоста.

+0

Можете ли вы показать нам код вашего .htaccess? Установлен ли сайт в подпапку? – pvledoux

+0

Может 'RewriteBase /', как предложено здесь: http://stackoverflow.com/questions/7084223/codeigniter-removing-index-php-in-url-on-wamp ? –

ответ

2

Got It!

мне нужно добавить AllowOverride в HTTPd-vhosts.conf:

<Directory "C:\Site\Root\Path"> 
    AllowOverride All 
    Order Deny,Allow 
    Allow from all 
</Directory> 

gagillion благодарит и 6-пак пива идет в @parhamr за помощь мне в этом рассоле.

+0

Это работало для меня с Vagrant и ExpressionEngine –

0

Вы проверили свой документ по умолчанию в Apache? Если вы физически удаляете index.php с компьютера, и он сообщает 404 только в каталоге, www.domain.com/home/, что означает, что Apache ищет index.php.

+0

Hi Josh, Вы хотите удалить index.php в качестве документа по умолчанию? Я попробовал, и это не повлияло. Я также попытался просто комментировать всю команду, но это тоже не сработало. – kgrote

+0

@kgrote Где вы устанавливаете документ по умолчанию в Apache? Если вы покажете, что вы по умолчанию используете в Apache, мы сможем определить, в чем проблема. – Josh

+0

Вот что правило выглядело как по умолчанию: ' DirectoryIndex index.php index.html index.htm index.php3 ' И после того, как я обновил его: ' DirectoryIndex index.php3 index.html index.htm ' файл находится в' C:/WAMP/бен/Apache/Apachex.xx.x/CONF/httpd.conf' – kgrote

1

пытаются добавить RewriteBase/

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    # Removes index.php 
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /index.php/$1 [L] 

    # If 404s, "No Input File" or every URL returns the same thing 
    # make it /index.php?/$1 above (add the question mark) 
</IfModule> 

и проверить наверняка, что mod_rewrite активен в phpinfo

+0

Это тоже не сработало :( – kgrote

1

Несколько возможностей здесь вы можете попробовать здесь:

[...] 
RewriteEngine On 
Options FollowSymLinks 
[...] 

Или:

[...] 
RewriteEngine On 
Options +MultiViews 
[...] 

Или:

[...] 
RewriteEngine On 
Options FollowSymLinks 
Options +MultiViews 
[...] 

Из моего опыта, Apache при работе в Windows, часто требуется один или оба из них для того, чтобы сделать такие вещи правильно. Это может быть и 500 штук на вас, но они работали для меня в прошлом.

+0

Nope, nuthn ': ( – kgrote

Смежные вопросы