2014-02-18 1 views
1

У меня есть простая база данных MySQL с 3 полями (ref_id, slug, content). Я заполнил его следующими данными (1, около, Пример контента, 2, портфолио, Пример контента, 3, контакт, Пример).Постоянная ссылка Не работает с MySQL База данных

Я создал основной PHP страницу со следующим кодом:

<?php 
require('db.php'); 

$ref_id = $_GET['ref_id']; 

$query = "SELECT * FROM myWebsite WHERE ref_id='$ref_id'"; 
$page_query = mysql_query($query); 

mysql_close(); 

$slug = mysql_result($page_query, 0, "slug"); 
$content = mysql_result($page_query, 0, "content"); 

echo "<h1>$slug</h1> 
<p>$content</p>"; 
?> 

Когда вы идете в mydomainname.com/myWebsite.php?ref_id=2 вы увидите страницу Портфолио и т.д.

Все работает до сих пор.

Вместо использования mydomainname.com/myWebsite.php?ref_id=2 я хочу использовать mydomainname.com/portfolio

Основываясь на учебники, которые я нашел и то, что я знаю, что я создал файл .htaccess и добавил следующий код:

<IfModule mod_rewrite.c> 
RewriteEngine on 
# Change following path 
RewriteBase /$slug/ 
RewriteRule ^([A-Za-z0-9-]+)/?$ myWebsite.php?ref_id=$1 [L] 
</IfModule> 

Это не работает --- когда я иду в mydomainname.com/portfolio я получаю «запрошенный URL /$slug/myWebsite.php не был найден на этом сервере.» Что мне здесь не хватает?

+1

Sidenote: 'require ('db.php');' находится там два раза. –

+0

@ Fred-ii- Исправлено. Благодарю. – user1822824

+0

Добро пожаловать. –

ответ

2

Я думаю, что вы скопировали следующее дословно из этих учебных пособий:

RewriteBase /$slug/ 

Удалить эту строку и перезапустите сервер.

+0

Я по-прежнему получаю ту же ошибку ... «Запрошенный URL /myWebsite.php не найден на этом сервере». – user1822824

+1

Не нужно перезапускать при смене файлов .htaccess – Phil

+2

@ user1822824 Вы уверены, что файл с именем 'myWebsite.php' точно? В том же верхнем/нижнем регистре? – hjpotter92

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

  • Нет связанных вопросов^_^