我在1&1
的Windows服务器上托管了我的网站。
在那里,不可能在web.config上添加元素<rewrite><rules>
...所以我使用的是.htaccess
文件...
我不是那么专家,我预计它只会在Apache服务器上运行。我错了!我的.hataccess
也适用于IIS。
这里是代码:
//Rewrite to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]
//Prevent viewing of .htaccess file
<Files .htaccess>
order allow,deny
deny from all
</Files>
使用302完成重定向的问题。我想要301重定向。我正在使用提琴手,这就是结果:
我遇到问题的网站是www.renovahaus.it
我怎样才能解决我的问题?
感谢名单
答案 0 :(得分:0)
这通常使用URLRewrite模块完成,在1&amp; 1的情况下,这在web.config中被禁用,但是当您使用.htaccess文件时,.htaccess的内容仍然会被转换为基础web.config 。
您可以阅读有关转化过程here
的精彩教程但总结是你可能正在寻找代码块: -
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
哪个应该透明地将以下内容添加到web.config文件中(即使你不能直接编辑它)
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>