2015-09-24 2 views
1

Я загрузил веб-шаблон, и когда я пытаюсь запустить его в своем локальном хосте, папка не отображается. Эта папка содержит файл .htaccess. Когда я удалю этот файл, я вижу , но когда я открываю его, он дает некоторые ошибки.Папка не отображается на localhost

Это файл .htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^$ index.php [L] 
RewriteRule ^([a-zA-Z0-9]+)?$ user-profile.php?user_username=$1 [NC,L] 

это первый раз, когда я работаю с помощью файла .htaccess ... Любая помощь приветствуется.

+0

Что вы хотите сказать? Вы ожидаете увидеть список каталогов или что-то еще? Если вы попадаете в папку напрямую, т.е. '/ folder /', то запрос направляется на 'index.php'. Таким образом, вы должны видеть любые выходы 'index.php'. Если вы ничего не видите, то это может быть намерением. – MrWhite

+0

Я не вижу папку на индексной странице localhost ... когда я пытаюсь получить доступ, используя 'localhost/folder/index.php', она показывает внутреннюю ошибку сервера. –

+0

Тот факт, что «когда вы удаляете этот файл», вы также получаете «некоторые ошибки», это немного подозрительно. Это заставляет меня думать, что что-то еще не настроено правильно. Является ли .htaccess/mod_rewrite работающим, как ожидалось, в других частях сайта? – MrWhite

ответ

0

Возможно, проблема в файле index.php PHP-код? Правила перезаписи выглядят отлично.

Покажите нам журнал ошибок Apache и журнал перезаписи, чтобы не сказать, что не так.

+0

Журнал ошибок Apache '[Thu Sep 24 19: 38: 18.579561 2015] [core: alert] [pid 2828: tid 1100] [client :: 1: 9042] C:/wamp/www/Новая папка/UserProf /. htaccess: Недопустимая команда «RewriteEngine», возможно, с ошибкой или определена модулем, не включенным в конфигурацию сервера. У меня нет файла журнала перезаписи –

+0

Вы должны [включить mod_rewrite] (http: //www.webdevdoor. com/php/mod_rewrite-windows-apache-url-rewriting /). – Eugeny

+0

Большое спасибо, что модуль работал для меня –

0

Похоже, что директива RewriteCond не в том месте ...? Я бы подумал, что это должно применяться ко 2-му RewriteRule, не первый:

RewriteEngine On 
RewriteRule ^$ index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([a-zA-Z0-9]+)?$ user-profile.php?user_username=$1 [NC,L] 

RewriteCond директивы применяются к одному RewriteRule, который следует. Этот 2-й набор правил в основном говорит, что если запрошенный файл не существует, то внутренне перепишите запрос на страницу user-profile.php, передающую запрос (который считается именем пользователя) на параметр user_username.

+0

попытался заменить строки .. но все же я не могу перейти к index.php –

+0

Что происходит, когда вы переходите к '/ folder/index.php'? Что содержит 'index.php'? – MrWhite

+0

, когда я перехожу на страницу индекса, это то, что я вижу сейчас. Внутренняя ошибка сервера Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос. index.php содержит простую форму для регистрации пользователя. –

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