从非 www 重定向到 www 无法从 .htaccess 工作
redirection from non www to www not working from .htaccess
我已经阅读了很多答案,但似乎没有一个对我有用。我想将非 www 域重定向到 www,但它没有发生。
我的 .htaccess 文件位于 /home/ashish/mywebsite 我的网站代码所在的位置:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^getechready.com [NC]
RewriteRule ^(.*)$ http://www.getechready.com/ [L,R=301]
mywebsite.conf 文件在 /etc/apache2/sites-available:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/ashish/mywebsite/static
<Directory /home/ashish/mywebsite/static>
Require all granted
</Directory>
Alias /media /home/ashish/mywebsite/media
<Directory /home/ashish/mywebsite/media>
Require all granted
</Directory>
<Directory /home/ashish/mywebsite/mywebsite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
<Directory /home/ashish/mywebsite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
WSGIScriptAlias / /home/ashish/mywebsite/mywebsite/wsgi.py
WSGIDaemonProcess django_app python-path=/home/ashish/mywebsite python->
WSGIProcessGroup django_app
</VirtualHost>
apache2.conf 在 /etc/apache2 中:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
当我在 .htacess 文件网站上写一些乱码时,出现 500 错误。所以正在读取 .htaccess 文件,但是当我执行 curl -I getechready.com 时,它显示 url 未解析并且浏览器中不会发生重定向。
我正在使用 Python 3.8 和 django 3.1。
注意:我的文档根目录是 /var/www/html 但我的网站代码位于 /ashish/home/mywebsite , 我放置 .htacess 文件的地方
如果需要任何其他数据,请告诉我。
我没有从apache端得到任何适合我的答案,
所以因为我使用的是 Django,我所做的是添加: PREPEND_WWW = True
在 settings.py 文件中,只需确保你的中间件中有 'django.middleware.common.CommonMiddleware',
并记住从 .htaccess 文件中删除所有规则.为我工作
我已经阅读了很多答案,但似乎没有一个对我有用。我想将非 www 域重定向到 www,但它没有发生。
我的 .htaccess 文件位于 /home/ashish/mywebsite 我的网站代码所在的位置:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^getechready.com [NC]
RewriteRule ^(.*)$ http://www.getechready.com/ [L,R=301]
mywebsite.conf 文件在 /etc/apache2/sites-available:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/ashish/mywebsite/static
<Directory /home/ashish/mywebsite/static>
Require all granted
</Directory>
Alias /media /home/ashish/mywebsite/media
<Directory /home/ashish/mywebsite/media>
Require all granted
</Directory>
<Directory /home/ashish/mywebsite/mywebsite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
<Directory /home/ashish/mywebsite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
WSGIScriptAlias / /home/ashish/mywebsite/mywebsite/wsgi.py
WSGIDaemonProcess django_app python-path=/home/ashish/mywebsite python->
WSGIProcessGroup django_app
</VirtualHost>
apache2.conf 在 /etc/apache2 中:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
当我在 .htacess 文件网站上写一些乱码时,出现 500 错误。所以正在读取 .htaccess 文件,但是当我执行 curl -I getechready.com 时,它显示 url 未解析并且浏览器中不会发生重定向。
我正在使用 Python 3.8 和 django 3.1。
注意:我的文档根目录是 /var/www/html 但我的网站代码位于 /ashish/home/mywebsite , 我放置 .htacess 文件的地方
如果需要任何其他数据,请告诉我。
我没有从apache端得到任何适合我的答案,
所以因为我使用的是 Django,我所做的是添加: PREPEND_WWW = True
在 settings.py 文件中,只需确保你的中间件中有 'django.middleware.common.CommonMiddleware',
并记住从 .htaccess 文件中删除所有规则.为我工作