2015-09-04 3 views
2

Использование Apache 2. Мне нужно переписать все запрошенные URL из http://website.dev/file-name.php в http://website.dev/file-name..htaccess правило перезаписи не работает в производстве

Ниже .htaccess файл:

RewriteEngine On 

SetEnv "ENVIRONMENT" "production" 
SetEnv "BASE_URL" "http://website.dev" 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)\.php$ $1 

ErrorDocument 404 /404.php 

решение отлично работает на промежуточном сервере, но и на производстве (с mod_rewrite уже включен) запрос http://website.dev/file-name, кажется, не работает, и в результате отображения файла 404.php.

Что мне не хватает? Есть ли проблема с конфигурацией логики или сервера?

+2

Не 'RewriteRule^(. *) \. PHP $ $ 1' делает обратное тому, что вы хотите? – anubhava

+1

изменили ли вы свою настройку SetEnv «ОКРУЖАЮЩАЯ СРЕДА» на производство на производственном сервере? –

+0

@ n01ze да я изменил –

ответ

1

это должно сделать

ErrorDocument 404 /404.php 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^/]+)/?$ $1.php [NC,L]