Mod_Rewrite для очистки URL

0

Я пытаюсь создать систему URL-адреса стиля WordPress, где я могу создать страницу пользователя, которая автоматически создает "пуля" ее версию.

Я буду использовать index.php для запроса базы данных в соответствии с slug на странице.

Я попытался скопировать части WordPress.htaccess, однако показывает ошибку 404.

Мой формат URL похож на следующий:

www.mysite.com/about
www.mysite.com/rentals/page1

Мой файл.htaccess выглядит так:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

Как только я получу часть htaccess, как я могу удалить из URL-адреса? Я полагаю, что даже если URL-адрес был бы чистым, он все равно мог бы отправить его через index.php?page=[SLUG]

Любые идеи о том, с чего начать и как выполнить то, что я ищу?

Теги:
.htaccess
mod-rewrite

1 ответ

1
Лучший ответ

Я использую следующее...

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Я использую $_SERVER['REDIRECT_URL'] чтобы получить путь/имя-страницы.

пример... index.php/about

$request = strip_tags(trim($_SERVER['REDIRECT_URL']));
$request = rtrim($request, "/"); // remove trailing slash 
$pg = explode('/', $request);
$page = $pg['1'];
// SELECT FROM table WHERE page = $page;
  • 0
    Спасибо за это. Я попробовал ваш .htaccess, но получаю ошибку 404. Я получаю The requested URL /index.php/about was not found on this server. Есть идеи?
  • 0
    Благодарю. У меня действительно было что-то подобное, однако проблема возникает, когда ссылка нажата. Если я загружаю только index.php, он работает нормально. В тот момент, когда я пытаюсь сделать / PAGE / это 404s.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню