RewriteRule传递查询字符串

时间:2014-11-10 18:49:10

标签: regex apache .htaccess mod-rewrite redirect

我正在尝试创建一个系统,所以当你访问该链接时 about.php 它会让你看起来像是通过index.php?page = about

我是用htaccess文件做的。

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !index.php [NC]
RewriteRule ^(.*)\.php$ index.php?page=$1 [NC]

我的问题是如果我访问fx about.php?avar = set这不会通过。 我根本不太了解htaccess文件或如何设置它。

1 个答案:

答案 0 :(得分:1)

让您的规则添加QSAL标记:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteRule ^(.+?)\.php$ index.php?page=$1 [L,QSA]

QSA(查询字符串追加)标志在添加新查询参数时保留现有查询参数。