如何从网页地址中删除文件名或扩展名?



我要从我的网页地址中删除文件名或扩展名。有一些解决方案这样做(.htaccess),但我的。htaccess文件是空的。我想知道我该怎么做?转:

http://www.example.com/page.php

这:

http://www.example.com/page

假设page.php作为一个物理文件存在于根文件夹中,那么您可以使用:

RewriteEngine On
RewriteRule ^([^.]+)$ $1.php [NC,L]

如果page.php不存在,但它是重写规则的产物,您可以使用如下命令:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]

这两个额外的规则说明:如果浏览器中的文件不存在,并且它不是一个存在的文件夹,那么继续重写。

你将需要改变你的网站链接,为上述规则的工作。比如:

<a href="http://www.example.com/page">Some fancy page</a>

确保在主配置文件中启用了mod_rewrite,并且启用了FollowSymLinks选项,并且重新启动Apache以使这些更改生效。然后将以下内容添加到www-root中的.htaccess文件中:

RewriteCond %{REQUEST_URI} !.php$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php [L]

第一个条件将确保你的url还没有以php结尾。如果它是,它是毫无意义的添加php到它,现在是吗?第二个条件检查所请求的文件是否不存在。如果它存在,我们希望显示现有的文件:例如图像、css或js文件。最后一行内部重写为文件,后面是.php。

最新更新