隐藏并考虑.php扩展名

时间:2015-03-18 08:00:45

标签: .htaccess

它的老问题我在Stackoverflow中看到了很多答案,但它对我不起作用。

我想隐藏在godaddy中托管的网站中的php扩展程序。 为了跟踪目的,我将所有文件放在www.example.com/temp/website

所有文件php都存储在上述链接的“网站”文件夹中。我将.htaccess文件保存在同一个文件夹中。

我尝试了以下代码,但它不起作用。

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]

2 个答案:

答案 0 :(得分:0)

检查文件是否不存在(或图像和css文件以及...将被重定向)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

然后重定向到您的文件夹并添加扩展程序

RewriteRule (.*) /temp/website/$1\.php [L]

答案 1 :(得分:0)

这样的事情会让你前进。请注意,我没有对此进行测试,但它应该给你一个想法:

RewriteEngine On

// rewrite requests without .php extension if the file exists
RewriteCond %{REQUEST_FILENAME} !\.php$
RewriteCond %{DOCUMENT_ROOT}/temp/website/%{REQUEST_FILENAME}\.php -f
RewriteRule (.*) /temp/website/$1.php [L]

// optional, as explained below: 
RewriteCond %{DOCUMENT_ROOT}/temp/website/%{REQUEST_FILENAME} -f
RewriteRule (.*) /temp/website/$1 [L]
  1. 测试请求是否具有.php分机

  2. 检查.php

  3. 中是否存在名为且扩展名为/temp/website 的文件
  4. 在内部重写到该位置并添加扩展名

  5. 可能想要添加最后一行来处理具有扩展名的传入请求: