2010-07-20 5 views
0

У меня проблема с тем, что мой .htaccess работает так, как я хочу, и мне было интересно, может ли кто-нибудь пролить свет на это.Проблема с mod_rewrite

Вот моя текущая настройка:

Мой виртуальный хостинг сайта можно получить по http://www20.a2hosting.com/~myname/

У меня есть несколько подкаталоги внутри, что я хочу получить доступ. Например, http://www20.a2hosting.com/~myname/subdir/public/index.php работает просто отлично.

Теперь я пытаюсь перевести все вызовы на мой subdir/public, чтобы перенаправить его на мой index.php, и в этом случае я создал файл .htaccess в моем поддиректории/public, который выглядит следующим образом:

RewriteEngine on 
RewriteRule ^.*$ index.php 

Однако, когда я направляю свой браузер на http://www20.a2hosting.com/~myname/subdir/public/ я получаю следующее сообщение об ошибке 404:

The requested URL /home/myname/public_html/subdir/public/index.php was not found on this server. 

Что я делаю неправильно?

Большое спасибо!

+0

При загрузке файлов, вы действительно загрузить их в '/ главная/MyName/public_html /' правильно? –

+0

@ Тит, да, я могу получить доступ к файлам просто отлично, если напрямую ввести их в URL-адрес – user387302

+0

@user: Ах, хорошо. Я только спросил, потому что 'mod_rewrite' автоматически расширяет' ~ myname' до домашнего каталога, независимо от настроек 'mod_userdir', поэтому я не знал, соответствовало ли это тому, как ваш хост установил настройки. –

ответ

1

Попробуйте указать абсолютный путь в качестве цели переписывания:

RewriteRule ^.*$ /index.php 
+0

Я просто попробовал это, и это закончило тем, что перенаправляло меня на какую-то страницу по умолчанию a2hosting.com, в которой сообщалось, что страница, к которой я, должно быть, пыталась получить доступ, была моей cPanel и дала мне ссылку на нее. Очень странно. – user387302

+0

@user странно. Затем попробуйте '/ home/myname/public_html/index.php' –

+0

Я получаю тот же index.php, который не найден на этом сервере. Ошибка 404. – user387302

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