我想重写网址,以便用户输入或点击看起来像这样的链接: 的 “mysite.com” 要么 的 “http://mysite.com” 要么 的 “www.mysite.com” 他们被带到 “http://www.mysite.com”。
我目前在.htcaccess文件中使用以下代码,但似乎没有做任何事情:
RewriteEngine On
RewriteCond !^www\.mysite\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|css|js)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*) http://www.mysite.com/$1 [L,R=301,NE]
RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|css|js)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url_params=$1 [L,QSA]
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
#Header set Cache-Control "max-age=29030400, public"
</filesMatch>
<filesMatch "\\.(css)$">
#Header set Cache-Control "max-age=29030400, public"
</filesMatch>
<filesMatch "\\.(js)$">
#Header set Cache-Control "max-age=29030400, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
#Header set Cache-Control "max-age, public, must-revalidate"
</filesMatch>
*错误已修复。
我的网站现在加载但是例如,如果我去mysite.com,它不会将我重定向到http://www.mysite.com。
答案 0 :(得分:0)
好的,我解决了。事实证明我的重写条件错误。
正确的方式: RewriteCond $ 1!^(favicon.ico | favicon.png | media | robots.txt | crossdomain.xml | css | js) RewriteCond%{REQUEST_FILENAME}! - f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^(。*)$ index.php?url_params = $ 1 [L,QSA]
RewriteCond!^ www.mysite.com [NC] RewriteCond%{HTTP_HOST}!^ $ RewriteCond $ 1!^(favicon.ico | favicon.png | media | robots.txt | crossdomain.xml | css | js) RewriteCond%{REQUEST_FILENAME}! - f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^ /?(。*)http://www.mysite.com/ $ 1 [L,R = 301,NE]