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]