mod_rewrite не работает, перепробовал все возможные способы

Клянусь, я не могу получить это, я прочитал 10 учебных пособий, но не смог заставить его работать... Я хотел красивые URL, поэтому моя структура каталогов выглядит следующим образом

localhost/my_website/home.php?page=dashboard

у меня есть .htaccess файл в my_website папка с этими правилами

#Redirect To Default Login Page
DirectoryIndex login.php

#Block Directory Listing
IndexIgnore * 

# Turn on URL rewriting
RewriteEngine On

RewriteRule ^page/([^/\.]+)/?$ home.php?page=$1 [L]

Но когда я набираю это http://localhost/my_website/home/dashboard Я на самом деле ничего не понимаю

Что я получаю

The requested URL /my_website/home/dashboard was not found on this server.

2 ответа

Решение

Вы можете попробовать это:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /([^/]+)/([^/]+)$ [NC]
RewriteRule .*  my_website/%1.php?page=%2 [L,QSA]

Будет отображаться молча:

http://localhost/my_website/anything1/anything2

Для того, чтобы:

http://localhost/my_website/anything1.php?page=anything2

Я предположил home а также dashboard в вопросе есть переменные (может быть что угодно).

Это то, что вам нужно:

 RewriteEngine On
 RewriteRule ^my_website\/home\/([a-z0-9_-]+)?$ my_website/home.php?page=$1 [L]
Другие вопросы по тегам