【问题标题】:How to Hide .php Extension in Url如何在 URL 中隐藏 .php 扩展名
【发布时间】:2018-05-01 17:31:22
【问题描述】:
# 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]

很抱歉,如果有人问过这个问题,但似乎没有找到解决办法,上面的 .htaccess 代码对我有用,而我正在使用 Windows,就在最近,我移植到 Linux 并且必须安装几乎所有我自己,当我尝试查看带有.php (extension) 的网页时,它会显示,但没有.php (extension) 它会显示404 HTTP 错误代码。 关于为什么的任何想法?以及如何解决问题?

【问题讨论】:

  • 几乎可以肯定这会在服务器故障之类的地方得到解决,所以也许在那里做一些研究。 SO 是关于编码问题,所以这是题外话。

标签: php linux .htaccess


【解决方案1】:

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

$ sudo nano /etc/apache2/sites-available/000-default.conf

在该文件中,您会发现从第一行开始的块。在该块内,添加以下新块,使您的配置文件如下所示。确保所有块都正确缩进。

<VirtualHost *:80>
<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

. . .
</VirtualHost>

保存并关闭文件。要使这些更改生效,请重新启动 Apache。

$ sudo systemctl restart apache2

现在,在 Web 根目录中创建 .htaccess 文件。

$ sudo nano /var/www/html/.htaccess

在新文件的顶部添加这一行以激活重写引擎。

RewriteEngine on

保存文件并退出。

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

【讨论】:

    猜你喜欢
    • 2011-09-08
    • 2012-04-19
    • 2018-03-14
    • 2021-01-23
    • 2014-02-21
    • 2012-11-25
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多