1

我正在为我的社交网站制作自己的 CMS。我遇到了一个问题,我需要清理 url 以使它像 facebook 一样。

使用 HTACCESS 重写 URL

Urgly URL => www.domain.com/index.php?options=profile&id=393
Clean URL => www.domain.com/393

目前正在使用下面的代码从 url 中删除 inde.php?options

RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule .* index.php?options=$0 [QSA,L]

我已经搜索了谷歌并且厌倦了一切,但它对我不起作用。有什么奇怪的...

请帮助我卡得很厉害..!

4

1 回答 1

1

我想您的规则+条件将匹配每个请求,包括图像、脚本、样式表等,并将其重定向到 index.php。我怀疑这就是你想要的。

你可以反过来做。如果人们访问您的 index.php 或顶级域名(例如 www.domain.com),则什么也不做。

RewriteRule ^index\.php$ - [L]

然后您可以将所有适用的请求(不存在的路径)重写为 index.php。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php?options=$0 [L,QSA]

将这些规则+条件添加到您的 .htaccess 中,看看它是否符合您的要求。

于 2013-02-20T10:58:53.817 回答