将动态页面和非www重写为www(.htaccess)

时间:2016-08-26 02:34:44

标签: apache .htaccess mod-rewrite url-rewriting

好的,所以我在www.example.com/test上放了一个page.php,我想重写为 www.example.com/test/page/id (来自www.example) .com / test / page.php?page = id)

我添加了这个简单的.htaccess,到目前为止一切都很好

Options +FollowSymLinks
RewriteEngine on
RewriteRule page/(.*)/ page.php?page=$1
RewriteRule page/(.*) page.php?page=$1

但问题是我还想将 example.com/test/page/id 重定向到 www.example.com/test/page/id

这可能吗?我尝试添加一个RewriteCond,但它搞砸了更多。

提前致谢

3 个答案:

答案 0 :(得分:1)

我没有注意到你的问题,请试试这个,我已经测试过了,用[L,R]标志完全相同的方式

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]
RewriteRule page/(.*)/ page.php?page=$1
RewriteRule page/(.*) page.php?page=$1

答案 1 :(得分:0)

要将非www请求重定向到www,请在htaccess中的RewriteEngine行中添加以下规则

RewriteCond %{HTTP_HOST} !^www
RewriteRule ^ http://www%{HTTP_HOST}%{REQUEST_URI} [L,R]

答案 2 :(得分:0)

试试这个

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteRule page/(.*)/ page.php?page=$1
RewriteRule page/(.*) page.php?page=$1