放置没有文件扩展名的链接(.php)

Bra*_*gae 21 php apache

是否可以配置Apache以便不显示文件扩展名?

例如:说我有,domain.com/page.php但想要domain.com/page作为网址.

有任何想法吗?

Joh*_*ldo 43

把这是你的.htaccess文件

#turn on url rewriting 
RewriteEngine on

#remove the need for .php extention 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php
Run Code Online (Sandbox Code Playgroud)

这允许您访问没有扩展名的.php文件,因此您的链接应该读取

href="/somepage"
Run Code Online (Sandbox Code Playgroud)

这将指向

href="/somepage.php" 
Run Code Online (Sandbox Code Playgroud)


Set*_*tin 15

还有MultiViews一个vhost或.htaccess配置选项.请参阅http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

从该页面:

MultiViews的效果如下:如果服务器收到/ some/dir/foo的请求,如果/ some/dir启用了MultiViews,并且/ some/dir/foo不存在,那么服务器会读取寻找的目录名为foo.*的文件,有效地伪造了一个类型映射,该映射命名所有这些文件,为它们分配相同的媒体类型和内容编码,如果客户端通过名称请求其中一个文件.然后,它会根据客户的要求选择最佳匹配.

  • 多视图可能非常烦人,如果文件名和重写模式的选择重叠,则会妨碍正常的mod_rewrite规则. (3认同)

Pas*_*mel 6

这称为URL重写.我最近不得不第一次使用它,我用这个教程来学习它,希望你也会发现它很棒: