如何屏蔽URL中的扩展名

时间:2010-01-13 03:06:40

标签: php html

有没有办法用PHP屏蔽我网站上的网页的网址? 示例:http://home/subfolder而不是http://home.subfolder.php

4 个答案:

答案 0 :(得分:2)

Apache httpd的mod_rewrite可以在服务器端透明地重写URL,让你使用你喜欢的任何URL。

答案 1 :(得分:2)

将以下内容放在网站根目录中的.htaccess文件中

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteCond %{SCRIPT_FILENAME} !-d
   RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>

答案 2 :(得分:2)

是的,它可能,虽然它与PHP无关。

您必须在网络服务器的根目录上创建名为.htaccess的文件(如果它尚不存在)。例如,如果您想要静默地将用户从/ page / software /重定向到index.php?page = software,您可以使用:

RewriteEngine on 
RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [L]

初始部分(^page/([^/\.]+)/?$)是正则表达式。如果您不确定如何使用它们,请举例说明您要做的事情,我们可以提供帮助。

答案 3 :(得分:0)

正如其他人所说,如果您使用的是支持Apache的服务器,则可以使用mod_rewrite完成此操作。有人问过类似的问题:

相关:

  1. How to hide the .html extension with Apache mod_rewrite
  2. Removing .php with mod_rewrite