如何使用htaccess从网址中间隐藏文件扩展名

时间:2015-03-26 05:38:21

标签: .htaccess url-rewriting

我在.htaccess隐藏网址时遇到问题。我想从网址中删除.php

例如:将www.example.com/destination_info.php/Laos-destination-trip转换为www.example.com/destination_info/Laos-destination-trip

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/(.+)$ $1.php/$2 [L]

4 个答案:

答案 0 :(得分:0)

试试这个,要从PHP文件中移除.php扩展名,例如yoursite.com/wallpaper.phpyoursite.com/wallpaper,您必须在.htaccess文件中添加以下代码:

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

可以找到对完整文章的引用here

答案 1 :(得分:0)

隐藏.php使用以下

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

隐藏html

RewriteRule ^([^\.]+)$ $1.html [NC,L]

答案 2 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^./]+)/(.+)$ $1.php/$2 [L]

答案 3 :(得分:0)

如果像我这样,想在URL的中间使用规则,请使用@anubhava的第一个答案。那对我有用。

此外,我正在使用IIS,因此我必须安装重写模块,然后从第一个答案中导入规则。第二和第三答案仅适用于URL的最后一部分。