Это зависит от httpd , который вы используете (Apache или Nginx).
Для Apache вам следует отредактировать свой .htaccess файл должен выглядеть следующим образом:
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^([A-Za-z-]+)/?$ FileToHandleDatabaseSearch.php?title=$1 [NC,L]
Это преобразует URL-адрес www.miraj.com/childhood-of-miraj в www.miraj.com/FileToHandleDatabaseSearch.php?childhood-of-miraj на сервере, а не в адресной строке браузера.
FileToHandleDatabaseSearch. php
if (isset($_GET['title'])) {
//...Search DB for $title
//If title exists display page with title
//If title does not exist display 404 page not found
}
Для NGINX вы редактируете это в файле conf www.miraj.com.conf в /etc/nginx/sites-available
должно выглядеть так:
server {
listen 80;
listen [::]:80;
root /path/to/project/root;
server_name www.miraj.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
rewrite ^([A-Za-z-]+)/?$ FileToHandleDatabaseSearch.php?title=$1 last;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Вы бы хотели добавить к путям префикс c, чтобы избежать конфликтов URL-адресов. Например, если childhood-of-miraj
является заголовком mov ie, пусть условия перезаписи будут rewrite ^/movies/([A-Za-z-]+)/?$ "/path/to/project/root/FileToHandleDatabaseSearch.php?title=$1" last;
Вы можете посетить Apache Правила перезаписи , чтобы узнать больше .htaccess правила, которые вы можете использовать, и Nginx правила перезаписи для получения дополнительных Nginx правил, которые вы можете использовать.