我是很新,MOD-重写,而且我遇到了麻烦这一权利:现代重写新手CI中
我想http://myurl.com/special和http://www.myurl.com/special既重定向到http://myurl/index.php/special不改变的URL浏览器中的访客。
目前,我的.htaccess看起来是这样的,从网址
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^www.myurl.com [NC]
RewriteRule ^(.*)$ http://myurl.com/$1 [L,R=301]
</IfModule>
我尝试了一堆不同的东西来重定向特殊的URL,但到目前为止,一切都没有工作对我来说,每一个去除WWW不同的不良结果。请让我知道,如果你有一个想法,我可以在这里添加!
我尝试这样做:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^special$ /index.php/special$1 [NC]
RewriteCond %{HTTP_HOST} ^www.myurl.com [NC]
RewriteRule ^(.*)$ http://myurl.com/$1 [R=301]
</IfModule>
这使得http://myurl.com/special重定向到默认的控制器,并使得http://www.myurl.com/special重定向到http://myurl.com/index.php/special和变化在浏览器的URL。这些都不是很对,虽然第二个更接近我所需要的。
嘿布兰登,感谢您的快速反应。我有这样的.htaccess文件的原因是让所有请求http://www.myurl.com重定向到http://myurl.com。 我需要的是继续,但除了所有请求http://myurl.com/special重定向到http://myurl.com/index.php/special。 还有什么可以帮助你做到这一点?我尝试修改htaccess并按照你的建议路由文件,但那不起作用。 myurl.com/special URL有一个404 Not Found页面。 – itwasthewind 2010-07-31 22:36:13
我意识到我没有像你刚才提到的那样设置htaccess,我试过了,但现在任何没有index.php的网址(如myurl.com/special)只显示默认的家庭控制器。任何想法为什么这可能是? – itwasthewind 2010-07-31 23:06:51
与htaccess它被设置为做myurl.com/index.php/special和myurl.com/special到同一页面只是使url更清洁。但我刚刚意识到发生了什么我很抱歉,我没有阅读,正确的只是删除你添加的路线,它会完美的工作我很抱歉,我以为你想让myurl.com/special去默认页面htaccess会一直这样做,我很抱歉,我应该仔细阅读它离开htaccess,并删除你添加的路线。让我知道如果这工作。 – BrandonS 2010-08-01 02:58:27