Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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
Php 隐藏使用.htaccess的扩展不使用网络解决方案_Php_.htaccess - Fatal编程技术网

Php 隐藏使用.htaccess的扩展不使用网络解决方案

Php 隐藏使用.htaccess的扩展不使用网络解决方案,php,.htaccess,Php,.htaccess,我正在与一位使用网络解决方案进行托管的客户合作。我创建了他们的网站,因此所有的.php扩展名都使用.htaccess文件隐藏在url中。在我的服务器上一切正常,但当我将其传输到网络解决方案时,链接不起作用。他们给了我一个模糊的答案,他们的服务器在这方面有问题,除非我使用扩展,否则它将无法工作。有没有办法绕过这个或其他更简单的方法可以奏效 以下是两种我尝试过的方法,它们适用于我尝试过的任何地方,但Net Sol: 选项+多视图 及 重新启动发动机 重写cond%{REQUEST_FILENAME}

我正在与一位使用网络解决方案进行托管的客户合作。我创建了他们的网站,因此所有的.php扩展名都使用.htaccess文件隐藏在url中。在我的服务器上一切正常,但当我将其传输到网络解决方案时,链接不起作用。他们给了我一个模糊的答案,他们的服务器在这方面有问题,除非我使用扩展,否则它将无法工作。有没有办法绕过这个或其他更简单的方法可以奏效

以下是两种我尝试过的方法,它们适用于我尝试过的任何地方,但Net Sol:

选项+多视图

重新启动发动机
重写cond%{REQUEST_FILENAME}-d
RewriteCond%{REQUEST_FILENAME}.php-f

重写规则^(.*)$$1.php

我在这里找到了解决方案:。需要添加RewriteBase/directory/,因为我的文件位于子目录中。

以前,我还面临删除.html或.php扩展表单URL的问题

我这里有一个解决办法

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
将上面的代码放在.htaccess文件中,上面的代码用于.php文件


希望它能帮助你……)

“不工作”到底是什么意思?你有错误吗?你的错误日志怎么说?你得到的内容不正确吗?这就是我得到的:404:找不到页面此错误是在没有使用你在网站上指定的名称的网页时生成的。你确定正在读取你的htaccess文件吗?我使用了我在这里找到的一个测试:成功地使用了一个新的.htaccess文件,因此我知道mod_重写正在工作。将近四个几年后,这有效地解决了我的问题。谢谢你!