htaccess从url中删除index.php和param名称

时间:2013-12-31 08:17:16

标签: php .htaccess url-rewriting

我为网站提供短网址服务,其网址为http://example.co?c=xyz。 在index.php文件中,参数被访问为$code = $_GET["c"];

我想在输入http://eaxample.co/xyz

时访问相同的代码

.htaccess文件配置

Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteRule (.*) /$1? [R=301, L]

有人可以帮助我做出正确的规则吗?

2 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ /?c=$1 [L,QSA]

答案 1 :(得分:0)

如果您愿意,该查询字符串将起作用,您必须在您的重写中添加 QSA 标记。

当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有的查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会导致组合查询字符串。

Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteRule (.*) /$1? [R=301, L, QSA]