Gmo*_*Gmo 1 php url mod-rewrite
我有一个PHP网站,我试图隐藏扩展名.我发现一对夫妇的事情通过谷歌,但他们似乎都过于复杂,或者它们会重定向index到index.php:就像你写name.com/contact它去name.com/contact.php.我不想要那个,我只想要:
www.name.com/es/index.php to be www.name.com/es/inicio
www.name.com/es/empresa.php to be www.name.com/es/empresa
www.name.com/es/productos.php to be www.name.com/es/productos
www.name.com/es/clientes.php to be www.name.com/es/clientes
www.name.com/es/recetas.php to be www.name.com/es/recetas
www.name.com/es/contacto.php to be www.name.com/es/contacto
www.name.com/en/index.php to be www.name.com/en/home
www.name.com/en/company.php to be www.name.com/en/company
www.name.com/en/products.php to be www.name.com/en/products
www.name.com/en/clients.php to be www.name.com/en/clients
www.name.com/en/recepis.php to be www.name.com/en/recepis
www.name.com/en/contact.php to be www.name.com/en/contact
Run Code Online (Sandbox Code Playgroud)
该/en/文件夹是英文版,/es/文件夹是西班牙文版
此外,网站内的链接也没有扩展名.
例如,链接到的图像clientes会clientes 不 clientes.php 和,如果有人试图去/page.php,它仍然有效,但它重定向到/page.
htacces文件应如下所示:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Run Code Online (Sandbox Code Playgroud)
您可以使用相同的名称重定向网址中的任何php文件,而无需"php".
然后在你的php文件中,你可以查看url是否包含扩展名(http://blabla.com/bla .php)并将页面重定向到同一个没有扩展名的页面.
所以,在每个php文件的开头你应该调用这个函数:
function redirectIfNeeded(){
$url = $_SERVER["REQUEST_URI"];
if(preg_match("/\.php/$", $url))
header("Location: ".preg_replace("/\.php/",$url));
}
Run Code Online (Sandbox Code Playgroud)