2013-05-08 4 views
0

Мой URL-адрес переписывается отлично на моем сервере тестирования, но не на реальном сервере.PHP URL Rewrite не работает на определенном сервере

Я связался с командой поддержки, и они сказали мне, что mod_rewrite уже включен в мой план хостинга.

Вот мой файл .htaccess

RewriteEngine On 
RewriteRule ^index.html$ index.php [L] 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ work-tag.php?d=$1&t=$2 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ work-tag.php?d=$1&t=$2 
RewriteRule ^([a-zA-Z0-9_-]+)$ work.php?d=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ work.php?d=$1 

Что-нибудь случилось? Спасибо

+1

Какого результата вы получаете вместо? Вы заглянули в RewriteLog? –

+0

404 - страница не найдена! –

+1

Если mod_rewrite отключен, вы получите 500, поэтому правила не запускаются. Установили ли вы в подпапке или что-то в этом роде? –

ответ

2

У меня такая же проблема, но если вас спросили об обернутом mode_rewrite - проверьте его. Мне сказали то же самое, но я не нашел свою работу htaccess, поэтому я проверил ее самостоятельно. И я обнаружил, что mod_rewrite все еще выключен.

phpinfo(); 

и посмотрите «Загруженные модули». Если вы видите, что сервер не является проблемой. И нужно идти дальше.

+0

Спасибо за подсказку. Вот страница phpinfo http://tinyurl.com/dy7563s - там не найдено mod_rewrite! он не включен, не так ли? –

+0

На сервере работает PHP над CGI, поэтому он ничего не видит об Apache. Как я уже сказал выше, модуль включен, иначе вы получите ошибку 500 команд. –

1

Я, наконец, исправил это, добавив следующую строку в качестве друга.

RewriteBase/

Спасибо за ваши последующие ребята :)