我一直在搜索3到4个小时而没有任何结果(在搜索之前我玩了一个小时的规则却无法做到)
我不知道你是否注意到或没有谷歌使用www这样的
当它没有子域名时,它将是www.google.com/blabla和 如果有子域名,则为earth.google.com/blabla
这是第一部分
第二部分,正如您在symfony网址中所知,就像domain.com/index.php/test,感谢symfony .htaccess文件,您可以通过domain.com/test访问它 所以这就是我努力实现的目标
domain.com/test重定向到www.domain.com/test
www.sub.domain.com/blabla重定向到sub.domain.com/blabla
www.sub.domain.com/重定向到sub.domain.com(没有任何index.php XD)
我遇到的一个令人烦恼的问题是从domain.com/重定向到www.domain.com,重定向后就像是www.domain.com/index.php(而且我讨厌index.php:P)< / p>
有没有办法让一个重定向解决这个问题? 我敢肯定,我不是唯一一个需要这样的人,并且可能是其他人的想法,他们将使用symfony或其他框架拥有他们的网站 感谢
这是我完整的htaccess文件
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# The admin subdomain returns to the backend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^admin\.mydomain\..*
RewriteRule ^(.*)$ backend.php [QSA,L]
# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301]
# we skip all files with .something
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
答案 0 :(得分:1)
在你的VHOST配置中:
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^/(.*) http://domain.com/$1 [R=301,L]
另请注意,从美学的角度来看,您可能更愿意删除www。,从技术角度(DNS,Cookie,...)来看,最好以www。为前缀,并在相反的方式。