如何在Url中隐藏.php扩展名 #保护我的目录 选项-索引 #保护我的htaccess文件 命令拒绝,允许 全盘否定 重新启动发动机 重写cond%{SCRIPT_FILENAME}-D 重写规则^([^.]+)$$1.php[NC,L]

如何在Url中隐藏.php扩展名 #保护我的目录 选项-索引 #保护我的htaccess文件 命令拒绝,允许 全盘否定 重新启动发动机 重写cond%{SCRIPT_FILENAME}-D 重写规则^([^.]+)$$1.php[NC,L],php,linux,.htaccess,Php,Linux,.htaccess,如果有人问过这个问题,我很抱歉,但似乎没有找到解决办法,上面的.htaccess代码对我来说很有效,而我在使用windows时,就在最近,我移植到了Linux,并且不得不自己安装几乎所有的东西,当我尝试查看带有.php(extension)显示的网页时,没有.php(extension)它显示一个404 HTTP错误代码。 你知道为什么吗?以及如何解决问题?默认情况下,Apache禁止使用.htaccess文件应用重写规则,因此首先,您需要允许对文件进行更改。使用nano或您喜爱的文本编辑器打开

如果有人问过这个问题,我很抱歉,但似乎没有找到解决办法,上面的.htaccess代码对我来说很有效,而我在使用windows时,就在最近,我移植到了Linux,并且不得不自己安装几乎所有的东西,当我尝试查看带有
.php(extension)
显示的网页时,没有
.php(extension)
它显示一个404 HTTP错误代码。
你知道为什么吗?以及如何解决问题?

默认情况下,Apache禁止使用.htaccess文件应用重写规则,因此首先,您需要允许对文件进行更改。使用nano或您喜爱的文本编辑器打开默认的Apache配置文件

# Protect My Directories
Options -Indexes
# Protect my htaccess file
<Files .htaccess>
order deny,allow
deny from all
</Files>
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.]+)$ $1.php [NC,L]
在该文件中,您将发现一个从第一行开始的块。在该块内部,添加以下新块,使您的配置文件如下所示。确保所有块都正确缩进

$ sudo nano /etc/apache2/sites-available/000-default.conf
现在,在web根目录中创建.htaccess文件

$ sudo systemctl restart apache2
在新文件的顶部添加此行以激活重写引擎

$ sudo nano /var/www/html/.htaccess
保存文件并退出


现在,您有了一个可操作的
.htaccess
文件,可以用来重写规则。

几乎可以肯定,这将在服务器故障之类的地方得到解决,因此可能需要在那里进行一些研究。所以是关于编码问题,所以这是离题的。
$ sudo nano /var/www/html/.htaccess
RewriteEngine on