这是我的.htaccess文件
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^. /archive/index.php [L]
访问domain.com会将我重定向到www.domain.com
但是,转到domain.com/2011/11/18/blog-title会在浏览器网址中显示http://domain.com/var/htdocs/public_html/。
我的目标是domain.com上的任何页面都会重定向到www.domain.com
然后我去www.domain.com或domain.com / YYYY或/ YYYY / MM或/ YYYY / MM / DD将传递PHP REQUEST_URI以便我可以从MySQL数据库中获取数据。
我最初从WordPress复制了.htaccess文件,但由于/ var / htdocs / public_html出现在浏览器网址栏中,它似乎无法正常工作。
答案 0 :(得分:0)
这样可以解决问题:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果你想要一个特定的域,那就是这个:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
规则分别来自Drupal 7和Drupal 6,并且一直很适合我
修改强>
再次查看您的代码我认为唯一的问题是您在/
和http://www.domain.com
之间没有$1
。除此之外,它几乎与上面的第二个例子完全相同