我想知道是否有办法用.htaccess隐藏.php
文件扩展名。
我见过很多网站都这样做,例如Facebook上的大多数网页都没有显示.php
文件扩展名。
例如,我希望我的所有网址都是:
而不是
修改
在我的.htaccess
文件中,我已经有以下代码:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我是否只是附加
RewriteEngine On
RewriteRule ^(.*)$ $1.php
在文件的末尾?或者它是如何工作的?
答案 0 :(得分:3)
你必须激活rewrite_mod
和你的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
答案 1 :(得分:3)
试试这个:
此代码目前正在我的电脑上运行。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>
它会从网址中删除扩展程序 .php 并按原样设置剩余的网址。
答案 2 :(得分:1)
虽然已经回答了几次,但快速搜索会显示这样的结果:
RewriteEngine on
RewriteRule ^(.*)$ $1.php
答案 3 :(得分:1)
将以下内容添加到.htaccess文件中(确保已启用mod_rewrite)
RewriteEngine on
RewriteRule ^(.*)$ $1.php
答案 4 :(得分:1)
添加:
Options Multiviews
让mod_negotiation为您解决这个问题。
答案 5 :(得分:1)
RewriteEngine On
RewriteRule ^(.*)$ $1.php
第二行解释:
^ Start of line
( Capture everything enclosed (start)
. Any single character
* Zero or more of any character
) Capture everything enclosed (end)
$ End of line
$1.php Get the captured match and append .php, there's the rewrite!
瞧!
hello => hello.php
home => home.php
答案 6 :(得分:0)
.htaccess
语法,
您可以尝试 htaccess rule generator 生成规则