使用.htaccess / mod_rewrite缩短网址?

时间:2014-04-23 19:08:16

标签: .htaccess codeigniter

我如何缩短网址?目前我的网址与http://www.server.com/username/aa/index.php/site/products类似,如果可能,我希望index.php部分不在那里。

1 个答案:

答案 0 :(得分:1)

通常,您可以使用正则表达式来捕获要保留的内容,然后将其连接到替换中。在下面的片段中^(。*)(从开头直到我们点击' index.php'中的任何一个或多个字符)变为$ 1并且在index.php $ 2之后发送evey。

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

就codeingniter和其他框架而言,这根本不是必需的,你应该在项目的公共目录中有这样的东西:

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

这将获取进入此目录的任何内容并重定向到index.php,除非存在具有显式名称的文件或目录或链接