我要从我的网页地址中删除文件名或扩展名。有一些解决方案(.htaccess),但我的.htaccess文件是空的。我想知道我该怎么做? 转过来:
http://www.example.com/page.php
进入这个:
http://www.example.com/page
感谢阅读。
答案 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。