/ var / www / html目录中的.htaccess未被读取

我把.htaccess文件放在我托管我的网站的目录中.在/ var / www / html等

然而,它没有被阅读.

我尝试在httpd配置文件中更改AlowOverride

<Directory /var/www/html> 
  Options Indexes FollowSymLinks MultiViews 
  AllowOverride All 
  Order allow,deny 
  allow from all 
</Directory>

我的.htaccess可以在我的本地服务器上运行,但是当我在我的托管服务器上尝试时,它根本就不读它.

这是我的.htaccess文件供参考.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$$1.php [NC,L]
RewriteRule ^([0-9]+)$index.php?week=$1 
RewriteRule ^([0-9]+)/$index.php?week=$1

最佳答案 由于多种原因,您的.htaccess文件可能会被忽略,因此我建议您尝试以下步骤来确定问题的原因:

> Apache可以读取.htaccess吗?检查文件权限设置为适当的东西,如0640,并确保其组所有者是www-data.
>是否启用了rewrite_mod?没有它,RewriteEngine将无法工作.您可以通过使用root权限运行2enmod重写来启用重写.
>自上次更改httpd.conf以来,您是否重新启动了Apache?如果没有,请通过运行/etc/init.d/apache2 restart重新启动它,再次使用root权限.

如果在尝试这些步骤后您的网站仍然无法正常工作,请检查您的Apache错误日志.它们通常位于/var/log/apache2/error.log中.

点赞