我在托管网站的目录中放置了一个.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
答案 0 :(得分:1)
您的User.joins(:rtrs).invited.not_rejected.order(updated_at: :desc)
文件可能由于多种原因而被忽略,因此,我鼓励您尝试以下步骤以确定问题的原因:
.htaccess
吗?检查文件权限是否设置为诸如.htaccess
之类的适当名称,并确保其组所有者为0640
。www-data
??rewrite_mod
将无法正常工作。您可以通过以root用户权限运行RewriteEngine
来启用重写。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)