2013-10-01 4 views
1

Я хочу, чтобы каждый URL-адрес или файл перенаправлялся на index.php, но некоторые исключения (см. Ниже). Он отлично работал на моем локальном сервере, но на реальном сервере он не работает так, как должен.htaccess перенаправить на index.php игнорировать каждый другой php-файл

Моя проблема в том, что есть файлы типа collection.php, которые открываются, когда я ввожу их в URL-адрес браузеров и игнорирую мою htacess. Предполагается, что эти файлы также будут перенаправлены на мой index.php. Что я могу сделать?

Мой Htaccess:

# html5 pushstate (history) support: 

AddHandler php5-cgi .php 

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

<ifModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /WALT/ 

#rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index 
RewriteCond %{REQUEST_URI} !/content/create/ [NC] 
RewriteCond %{REQUEST_URI} !/img/ [NC] 
RewriteCond %{REQUEST_URI} !/video/ [NC] 
RewriteCond %{REQUEST_URI} !/favicon.ico [NC] 
RewriteCond %{REQUEST_URI} !/cms/ [NC] 
RewriteCond %{REQUEST_URI} !^/collection.php [NC] 

RewriteRule (.*) index.php [L] 

</ifModule> 
+0

Используется ли это в каталоге 'DOCUMENT_ROOT/WALT'? – anubhava

+0

@anubhava да действительно – user2525589

+0

И какой URL-адрес работает не так, как ожидалось? – anubhava

ответ

0

Посмотрите на свой Apache (или другой веб-сервер) конфигурации. В ConfigFile, где объявлены VHOST, убедитесь, что для параметра «AllowOverwrite» установлено значение «ALL»

Лучший способ для отладки - включить временные изменения RewriteLogs. Итак, вы видите, где может быть ошибка.

+0

Вы не имеете в виду 'AllowOverride' вместо AllowOverwrite? – geomagas

+0

спасибо, я не думаю, что у меня есть доступ ко всему остальному, но я посмотрю. парень поддержки из домена сказал, что это из-за RewriteCond% {REQUEST_FILENAME}! -f, потому что это проверяет, не существует ли файл. но collection.php существует, поэтому он не работает. Если я оставлю это, это не сработает – user2525589

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