无法读取/ var / www / html目录中的.htaccess

时间:2018-09-27 23:29:35

标签: .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

3 个答案:

答案 0 :(得分:1)

您的User.joins(:rtrs).invited.not_rejected.order(updated_at: :desc) 文件可能由于多种原因而被忽略,因此,我鼓励您尝试以下步骤以确定问题的原因:

  1. Apache可以读取.htaccess吗?检查文件权限是否设置为诸如.htaccess之类的适当名称,并确保其组所有者为0640
  2. 是否启用了www-datarewrite_mod将无法正常工作。您可以通过以root用户权限运行RewriteEngine来启用重写。
  3. 自上次更改2enmod rewrite起,您是否重新启动过Apache?如果没有,请再次以root权限运行httpd.conf来重新启动它。

在尝试这些步骤后,如果您的网站仍然无法正常运行,请检查您的Apache错误日志。它们通常位于/etc/init.d/apache2 restart中。

答案 1 :(得分:0)

检查apache是​​否已加载.htaccess文件的最简单方法是将add a line with wrong syntax插入其中。如果正在读取.htaccess文件,则应该收到500 Internal Server Error。之后,删除此测试行。

然后,您可以检查mod_rewrite is loaded。之后,您可以检查重写规则是否与htaccess tester

一起正常工作

答案 2 :(得分:0)

您好,如果您取消选中以下选项,请检查一下-

enter image description here