2013-03-06 7 views
0

SO У меня есть это в моем файле .htaccessHtaccess mod_rewrite дает мне 404

RewriteEngine On 
RewriteBase /core/ 
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$ 
RewriteRule ^page page/%1/? [L] 

мой URL является

http://localhost/core/page.php?page=8 

с правилами применяется я получаю ..

Not Found 
The requested URL /core/page/8/ was not found on this server. 

Это работает на wampserver 2.2

, файловая структура выглядит так:

c:/wamp/www/core 

.htaccess находится в каталоге/core /. Что мне не хватает .. Я проверил файл apache.conf, и все выглядит нормально.

+0

Подождите, я смущен. Вы пытаетесь переписать **/core/page/8/** на **/core/page.php? Page = 8 ** правильно? См. Мой обновленный ответ. – kjetilh

ответ

2

Я думаю, что вы ошиблись. Когда логически думать о перезаписи вы не переписать оригинальный URL в новый URL (например page.php Страница = 8 к страница/8/) вы на самом деле переписать страница/8/ к page.php? page = 8. Вы сообщаете серверу, как он должен интерпретировать незнакомый URL.

Так что, если я правильно понял, что вы хотите достичь, это:

  1. Пользователь посещения локальный/ядро ​​/ страница/8/
  2. Пользователь служил (под капотом) localhost/core/page.php? page = 8

Я считаю, что следующий RewriteRule будет сделайте трюк (условие строки запроса не требуется):

+0

Я идиот. – user1620152

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