部署服务器忽略.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?