Como remover o alias da página do url com htaccess?

Nov 14 2020

Eu criei meu próprio cms e encontro o seguinte problema. Os links das páginas mostram assim:

https://www.example.com/page/contact-us

Quero que eles sejam mostrados assim, removendo o alias da página :

https://www.example.com/contact-us

Meu Htaccess:

Opções -MultiViews
RewriteEngine On

RewriteRule ^ page / ([\ s \ S] *)$ single-page.php?slug=$1 [L]

Eu tentei isso, mas não funciona para mim

RewriteEngine On
RewriteRule ^ ([^ /] *)$ /page/single-page.php?slug=$1 [L]

Respostas

2 anubhava Nov 14 2020 at 04:46
RewriteRule ^([^/]*)$ /page/single-page.php?slug=$1 [L]

Isso não funcionará porque está encaminhando todos os URIs para um /page/diretório que obviamente não existe.

Você deve usar esta regra:

# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ single-page.php?slug=$1 [L,QSA]