# 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错误代码。
任何想法为什么?以及如何解决问题?
答案 0 :(得分:0)
默认情况下,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
文件。