Как создать чистый URL с помощью.htaccess
Это мой код.htaaccess.
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ movie.php?name=$1
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.in$
RewriteRule ^/?$ "http\:\/\/example\.in" [R=301,L]
ErrorDocument 404 /404.php
AddDefaultCharset UTF-8
Header unset ETag
FileETag None
Мне нужен чистый URL для моего сайта. Я сослался на множество учебных пособий и форумов и создал приведенный выше код. Но не работает.. Почти я борюсь с кодом. Я не понимаю концепцию чистого URL. Есть ли какие-либо кодировки, которые я хочу написать на своей странице php.
<a href='movie.php?name=titanic'> Titanic </a>
У меня есть эта ссылка в моем файле index.php.
я хочу example.in/movie/titanic
пока нажми на ссылку Титаник.
Также я хочу получить значение по $_[request].
Что именно я должен сделать. Пожалуйста, не делайте этот вопрос как дубликат, я много искал и не получил четкую концепцию. Пожалуйста, помогите мне.
Спасибо
3 ответа
Замените ваш код следующим:
ErrorDocument 404 /404.php
AddDefaultCharset UTF-8
Header unset ETag
FileETag None
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+movie\.php\?name=([^\s&]+) [NC]
RewriteRule ^ movie/%1? [R=301,L]
RewriteRule ^movie/([^/]+)/?$ movie.php?name=$1 [L,QSA]
Если вы хотите иметь чистые URL-адреса, то вы должны использовать чистые URL-адреса в своем HTML-коде, например, использовать
<a href="/movie/titanic">Titanic</a>
Ваши правила перезаписи будут принимать адрес, который не существует на сервере (на самом деле у вас нет /movie
каталог, который содержит titanic
файл, в конце концов), и переводит его в фактический
/movie.php?name=titanic
Однако пользователь никогда не увидит этот URL, потому что перезапись будет происходить исключительно внутри Apache. Пока HTML-код, который вы отправляете пользователю, содержит только "чистые" URL-адреса, они никогда не увидят строки запроса.
RewriteEngine on
RewriteRule ^movie/([0-9a-zA-Z]+)$ movie.php?name=$1 [L]
Добавьте приведенный выше код в файл.htaccess