2014-04-23 103 views
0

我会如何缩短我的网址?目前我的网址如http://www.server.com/username/aa/index.php/site/products,如果可能,我宁愿index.php部分也不在那里。使用.htaccess/mod_rewrite缩短网址?

+1

这是在CodeIg中解决的niter用户指南:http://ellislab.com/codeigniter/user-guide/general/urls.html – vvanasten

+0

我试着做什么建议那里,但我仍然必须在URL中使用'index.php'来访问相关的意见或者它不起作用。 – user3554442

+0

在config.php中,$ config ['base_url']应该是''而不是index.php –

回答

1

一般而言,您可以使用正则表达式来提取要保留的内容,然后将其连接成替换内容。在片段波纹管^(。*)(1个或多个从一开始的任何字符,直到我们打“的index.php”)成为$ 1和eveything后的index.php $ 2

RewriteRule ^(.*)/index\.php/(.*)$ $1/$2[L] 

至于codeingniter等框架去,这不应该不惜一切是必要的,你应该有这样的事情在你的项目的public目录:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

这willfetch什么打算到该目录并重定向到index.php,除非文件或目录或与显式名称链接存在