在.htaccess文件中隐藏文件扩展名(php)

时间:2013-04-16 21:47:55

标签: php

我知道有很多主题,我多次尝试过但是没有用。

我想要什么? 而不是example.com/en/file.php用户只能看到:example.com/en/file

我的.htaccess:

DirectoryIndex index.php index.html

RewriteEngine on
*RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ /$1.php*


ErrorDocument 404 /index.php

RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^ru\/index\.php$ "http\:\/\/example\.com\/ru\/" [R=301,L]

RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^en\/index\.php$ "http\:\/\/example\.com\/en\/" [R=301,L]
每种语言的

1。我添加了什么来隐藏扩展程序?

  1. 工作之后我应该使用页面之间的链接作为“file.php”还是只使用“文件”?

3 个答案:

答案 0 :(得分:1)

也许是这样的。 根据您认为适合更具体的模式匹配进行修改。

RewriteRule ^(?:(.*)/)?(.*)$ $2.php?lang=$1

重新写入:

/ en / fun => /fun.php?lang=en

/ ru / fun => /fun.php?lang=ru

/ fun => /fun.php?lang =

答案 1 :(得分:0)

DirectoryIndex index.php index.html    

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$      $1.php     [L,QSA]

在您的链接中,请勿使用扩展程序。

答案 2 :(得分:0)

通过添加1行修复:

RewriteEngine on
**Options -Multiviews**
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$      $1.php     [L,QSA]

谢谢! :)