gpt4 book ai didi

php - 在 url mod_rewrite 中隐藏扩展名 .php

转载 作者:行者123 更新时间:2023-12-05 09:25:09 26 4
gpt4 key购买 nike

我有一个 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

/en/文件夹为英文版,/es/文件夹为西类牙文版/p>

还有网站内的链接,也没有扩展名。

例如,链接到 clientes 的图像将是 clientes 而不是 clientes.php and 如果有人尝试访问 /page.php,它仍然有效,但会重定向到 /page

最佳答案

htacces 文件应如下所示:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

您在没有“php”的情况下重定向 url 中具有相同名称的任何 php 文件。
然后在您的 php 文件中,您可以检查 url 是否包含扩展名 (http://blabla.com/bla.php) 并将页面重定向到没有扩展名的同一页面。< br/>所以,在每个 php 文件的开头你应该调用这个函数:

function redirectIfNeeded(){
$url = $_SERVER["REQUEST_URI"];
if(preg_match("/\.php/$", $url))
header("Location: ".preg_replace("/\.php/",$url));
}

关于php - 在 url mod_rewrite 中隐藏扩展名 .php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com