mod_rewrite и GoDaddy

Я действительно имею лишь четкое представление о том, что делаю. Простите.

Вот что я сделал, чтобы переписать URL-адреса вроде этих:

http://example.com/foo/bar/news/1-category-name/2-item-name
http://example.com/foo/bar/news/1-category-name

в эти:

http://example.com/foo/bar/news.php?newsID=2
http://example.com/foo/bar/news-categories.php?categID=1

соответственно

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /foo/bar
  RewriteRule ^news\/([^\/]+)/([0-9]+)-([^\/]+)$   news.php?newsID=$3
  RewriteRule ^news\/([0-9]+)-([^\/]+)$            news-categories.php?categID=$1
</IfModule>

Но всякий раз, когда я пробую этот URL:

http://example.com/foo/bar/news/16-news-category-1/11-title

, он всегда возвращает ошибку 404 :

Запрошенный URL /foo/bar/news.html/16-news-category-1/11-title не найден на этом сервере

Почему он пытается найти news.html ? Что я делаю не так?

Не знаю, актуально ли это, но пример.com является виртуальным (я действительно не знаю этого термина). К фактическим файлам также можно получить доступ через http://real-domain.com/qux/ . Итак, вы должны сделать http://real-domain.com/qux/foo/bar/news/1-category-name/2-item-name , чтобы добраться до 2-item- имя .

Можно ли также сказать, что этот сценарий действительно работает на моей машине разработки?

Development:
   PHP v5.3.5
   Apache v2.2

Live:
   PHP v5.3.6
   Apache v2.2
11
задан Machavity 18 August 2016 в 01:50
поделиться