部署服务器忽略.htaccess文件


RewriteRule ^en/users/profile/?$ [F,NC]

不是为什么你的.htaccess文件被忽略的原因(其他答案已经为此提供了解决方案,关于检查服务器配置中的AllowOverride指令),但是在上述指令中缺少有效替换。 对/en/users/profile/的请求将不会被禁止,并可能仅导致错误/ 404。

它需要是这样的:

 RewriteRule ^en/users/profile/?$ - [F,NC]

(替换只是一个连字符。)

RewriteCond %{HTTP_REFERER} !^http://example.ge/?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://example.dev/?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://localhost/?.*$ [NC]
RewriteRule .(gif|jpe?g|png|bmp)$ - [F,NC]

您还应该将您的“热链接保护”指令(以上)移至路由指令之前。 否则,在热链接保护能够阻止请求之前,可以(取决于URL格式)URL被路由。


您可能没有在服务器上启用.htaccess文件。 看看AllowOverride指令。 你可以在你的<VirtualHost>的文档根<Directory><Directory>块中添加这样的内容:

AllowOverride all

编辑您的虚拟主机:

1.登录到您的服务器。

2. cd / etc / apache2 / sites-available /

3.您可以编辑您的默认web1或... virtual-host- .conf文件。 输入nano web1.conf (...)并编辑你的文件。

<VirtualHost *:80>
    ServerName yoururl.com      
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/web1/htdocs/
    <Directory /var/www/web1/htdocs/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
    ServerSignature On
</VirtualHost>

4.停止你的Apache2并重新启动它 - /etc/init.d/apache2 stop和/etc/init.d/apache2 start。

5..htaccess上传到根目录并进行测试。

如果您使用Cloudflare ,则在SSL设置中的设置“ 始终使用HTTPS ”中有一个选项。 您也可以使用转发URL操作

http://yoururl.fqdn/*
redirected with a 301 response code to
https://www.yoururl.fqdn/$1
链接地址: http://www.djcxy.com/p/96393.html

上一篇: Deployment Server Ignores .htaccess File

下一篇: Python: How to get data from linked brushes in mlpd3, Bokeh, Plotly?