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

时间:2014-08-05 12:10:45

标签: .htaccess webaddress

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

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

进入这个:

http://www.example.com/page

感谢阅读。

2 个答案:

答案 0 :(得分:0)

假设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>

答案 1 :(得分:0)

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

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

第一个条件将确保您的网址尚未以php结尾。如果确实如此,将php添加到它是没有意义的,现在是吗?第二个条件检查请求的文件是否不存在。如果它存在,我们想要显示现有文件:例如图像,或css或js文件。最后一行在内部重写为文件,后面有.php。