使用.htaccess文件修改URL

时间:2016-09-09 10:00:53

标签: .htaccess url url-rewriting

我想从我的网址中删除.php,.html等扩展程序,这就是我使用的内容:

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

它有效,但我不知道这是否是最好的方法,我也不明白它是如何工作的,有人可以解释一下吗?

我想要实现的第二件事是通过这样做来使URL更美观:

这是我的网址:http://domain.com/portfolio/project.php?id=1 这就是我想看到的:http://domain.com/portfolio/project/1

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以在站点根目录中使用这些规则.htaccess:

RewriteEngine On

# rewrite /portfolio/project/25 to /portfolio/project.php?id=25
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(portfolio/[\w-]+)/([\w-]+)/?$ $1.php?id=$2 [L,QSA,NC]

# rewrite /portfolio/project to /portfolio/project.php
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

# rewrite /portfolio/file to /portfolio/file.html
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f
RewriteRule ^(.+?)/?$ $1.html [L]