所以我有这个网站存储在public_html/www /。其他一些域存储在 - 例如public_html/test /中。在public_html我有一个.htaccess文件,其中有很多重定向,它们都适用于/ www /文件夹内的这个网站。在/ www /文件夹里面我有另外一个.htaccess(我不知道为什么,我的同事这样做了,他没有提供信息就离开了我)。由于我不知道.htaccess如何正确工作,我不知道该做什么以及在哪个文件中。.htaccess重定向到子文件夹,非www到www和https
我需要做的是将domain.nl重定向到https://www.domain.nl(应该排除一些文件夹,就像你可以在下面的代码中看到的那样 - emailtemplates,paymentupdate,autocode,nieuwsbrieven等)但是domain.nl被存储在public_html/www /文件夹中,所以它也需要重定向到子文件夹(在Web浏览器中不应该显示)。
此时,在根.htaccess文件如下:
# Use HTTPS
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.nl [NC]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/emailtemplates
RewriteCond %{REQUEST_URI} !^/paymentupdate_ideal
RewriteCond %{REQUEST_URI} !^/autocode
RewriteCond %{REQUEST_URI} !^/nieuwsbrieven
RewriteCond %{REQUEST_URI} !^/bevestig-aanmelding-nieuwsbrief
RewriteCond %{REQUEST_URI} !^/bevestig-afspraak
RewriteCond %{REQUEST_URI} !^/images/personal
RewriteCond %{REQUEST_URI} !^/uploadify
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Link to subfolder
# RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?www.domain.nl$
RewriteCond %{REQUEST_URI} !^/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /www/$1
RewriteCond %{HTTP_HOST} ^(www.)?www.domain.nl$
RewriteRule ^(/)?$ www/index.php?page=home [L]
# Non-www to www
#activate rewrite engine
#RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?domain.nl
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
大概一半的代码,甚至没有必要的,但我绝对没有线索。其他.htaccess文件,子文件夹/ WWW /内,有下列文字,我真的不明白(它含有较多的,但没有相关的):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.domain.nl/$1/ [L,R=301]
对不起,如果我听起来很蠢。我已经尝试了很多从互联网上复制的东西,但不幸的是,所有事情都有它的前景,这导致了我们网站的其他问题(链接不再工作,例如)。我认为它不能一直工作的原因是因为它存储在子文件夹中,我不知道如何将所有这些行结合在一起就像它会工作一样。
任何人都可以帮我解释一下如何解决这个问题,这个时候出了什么问题?因为该网站现在不会重定向到www。它只是重定向到https,因为此时存在安全错误(因为SSL存储在www上)。超级感谢提前!
前两步你真的应该开始:1.找到你的同事,并要求一个适当的文档。离开工作是非常不专业的。不,对此类事情没有任何有效的借口。 2.去阅读一些关于apache和'.htacess'风格文件的小教程,以便学习如何使用你想要使用的工具。 – arkascha
谢谢,当然我应该阅读一些教程(并且我会!),但是这并不能在一天内解决问题。我的同事实际上是我的前同事,他不回应我尝试的任何联系。所以很不幸,这是不行的。这就是为什么我必须自己解决这个问题,而且我(也不是他)都有这方面的知识。对不起。 – Claudia