2013-03-27 74 views
-1

我想获得一个非常简单的mod_rewrite规则在我的网站上工作。简单的mod_rewrite不工作/删除“www。”?

到目前为止,我的.htaccess文件看起来是这样的:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteRule ^http://mywebpage.com/study$ http://mywebpage.com/jobs.html [L] 
</IfModule> 

我要让http://mywebpage.com/jobs.html可在http://mywebpage.com/study。我已经确定.htaccess文件没有被忽略 - 如果我把垃圾文件输入到文件中,网页崩溃,一切都会好起来的。那么,为什么这不起作用?


另外,我打算使用下面的代码片段来自HTML5的样板:

# Rewrite "www.example.com -> example.com". 

<IfModule mod_rewrite.c> 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 
</IfModule> 

所以我想之前我研究重写规则,这将是明智的,有一个片断?通过将上面的代码片段与我的自定义重写规则一起使用,是否有任何问题?

+1

的'HOST'不是在规则可用,所以降了'HTTP:// mywebpaghe。 com /'部分。 – Wrikken 2013-03-27 14:35:27

回答

2

你不能在RewriteRule正则表达式输入完整的网址,尝试这段代码:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

    RewriteRule ^study$ jobs.html [L] 
</IfModule> 
+0

非常感谢! – Sven 2013-03-27 14:46:36