我们制作了一个传单,上面印有如下网址:
mycompany.de/special
但是,如果用户实际上输入了此URL,那么他将被重定向到起始页面 https://www.mycompany.de/index.php ,而不是被重定向到 https://www.mycompany.de/special < / p>
到目前为止,这是我的.htaccess,它强制使用https和www:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
几乎可以按预期工作,唯一的问题是/special
被删除并被/index.php
取代。问题是,为什么special
被替换?
答案 0 :(得分:-1)
我可以用以下代码解决它:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_URI} !^/special
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php/%{REQUEST_URI} [L]