Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 隐藏和思考.PHP扩展_.htaccess - Fatal编程技术网

.htaccess 隐藏和思考.PHP扩展

.htaccess 隐藏和思考.PHP扩展,.htaccess,.htaccess,这是一个老问题,我在Stackoverflow中看到了很多答案,但这对我来说并不管用 我想在我的网站中隐藏php扩展,该网站位于godaddy。 为了便于跟踪,我将所有文件放在www.example.com/temp/website中 所有php文件都存储在上面链接中的“网站”文件夹中。我将.htaccess文件保存在同一个文件夹中 我尝试了下面的代码,但它不工作 Options +FollowSymLinks -MultiViews RewriteEngine On RewriteCond

这是一个老问题,我在Stackoverflow中看到了很多答案,但这对我来说并不管用

我想在我的网站中隐藏php扩展,该网站位于godaddy。 为了便于跟踪,我将所有文件放在www.example.com/temp/website中

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

我尝试了下面的代码,但它不工作

Options +FollowSymLinks -MultiViews
RewriteEngine On

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

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

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

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

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

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]
  • 测试请求是否没有扩展名
    .php

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

  • 内部重写到该位置并添加扩展

  • RewriteRule (.*) /temp/website/$1\.php [L]
    
  • 您可能希望添加最后一行来处理具有扩展名的传入请求:


  • 你问什么还不清楚。请注意,重写规则永远不会使您发送的链接中的文件扩展名神奇地消失。重写规则仅对传入请求有效。因此,在这种情况下,它们使服务器能够处理请求,而无需扩展。除此之外,“不起作用”在任何时候、任何情况下都不会帮助任何人。这是什么意思?日志文件中有错误吗?是否考虑过.htaccess文件?没有重写被应用吗?是否发生了改写,但写错了?宇宙内爆了吗?亲爱的,没有生成错误,但当我进入www.example.com/temp/website/index.php时,它工作了,但当我进入www.example.com/temp/website时,它不工作了。我希望当我把www.example.com/temp/website