2015-10-14 4 views
1

У меня возникли проблемы с работой моего mod_rewrite, так что ссылки идут от http://domain.com/page?home.php до http://domain.com/home.Php, включая страницы с укладкой mod_rewrite, получает переменные проблемы

При вводе http://domain.com/ домашняя страница включена правильно.

При вводе http://domain.com/404 или http://domain.com/anythinghere страница 404 включена правильно.

http://domain.com/home При вводе ошибки 500 поднимается и я получаю эту ошибку: File does not exist: /var/www/html/domain/Dev/home

Почему это не работает?

Мой проект заключается в следующем: структура

Каталог:

Dev/ 
    .htaccess 
    index.php 
    menu.php 
    pages/ 
     404.php 
     home.php 
    resources/ 
     css/ 
      core.css 
     fonts/ 

.htaccess,:

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^(\d+)*$ ./index.php?page=$1 

index.php:

<?php 

if (!isset($_GET['page'])) 
    $_GET['page'] = 'home'; 

$pages = array('home'); 
$page = $_GET['page']; 

include('menu.php'); 

if(in_array($page, $pages)) 
{ 
    include('pages/' . $page . '.php'); 
} 
else 
{ 
    include('pages/404.php'); 
} 

?> 

</body> 
</html> 

ответ

1

переписывания должен be:

RewriteRule ^([^/]+)$ /index.php?page=$1 [L] 
+0

Вы действительно правильно благодарите, хотя я поставил точку infront /index.php ... потому что я не работал в корневой папке, но такой же. RewriteRule^([^ /] +) $ ./index.php?page=$1 [L] – user3828657

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