这是我的htaccess:

RewriteEngine On

RewriteCond %{REQUEST_URI} !/(lib|assets|index\.php) [NC]
RewriteRule ^/?$ index.php?p=index [L,QSA]

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


RewriteRule ^(profiles\/\w+)$ index.php?p=profiles

关于最后一条规则,我想重写此URL:

/ profiles /史蒂夫

index.php?p = profiles&user = Steve

现在,当我进入mysite / profiles /时,它可以工作,但是现在我需要添加&u = Steve,这样:

RewriteRule ^(profiles\/\w+)$ index.php?p=profiles&u=$1

当我转到mysite / profiles / Steve

我会收到404错误。

为什么这不起作用以及如何解决?

编辑:

现在我有这个:

RewriteRule ^profiles/(.+?)/?$ index.php?p=profiles&u=$1 [L,QSA]

(感谢乔恩·林),但现在我将其作为输出:(print_r($ _ GET);):

Array ( [p] => profiles/Steve )

我想要:

Array ( [p] => profiles [u] => Steve )

已修复,该规则多数位于其他重写器之前。

===============>>#1 票数:0 已采纳

您正在围绕“配置文件”创建分组,只需要路径的第二部分:

RewriteRule ^profiles/(.+?)/?$ index.php?p=profiles&u=$1 [L,QSA]

  ask by DazDylz translate from so

未解决问题?本站智能推荐:

1回复

使用.htaccess重写网址无法正常工作

嗨,我有一个类似的网址: http://www.mysite.nl/vakantiehuizen/Denemarken/Bornholm 我想将其重写以用于SEO: http://www.mysite.nl/vakantiehuizen/denemarken/bornholm
2回复

.htaccess无法重写网址

我有一个无法重写的网址 我正在尝试使用以下规则将/section45l重写为/services/incentives/section45l 。 但这不起作用。
2回复

使用.htaccess中的获取参数更改URL无法正常工作

我正在尝试使用htaccess更改我的网址,但它似乎没有用。 我希望将http://example.com/blog_view?id=1更改为http://example.com/blog-id/1/,但无法正常工作。 我试过使用这个。
1回复

.htaccess重写规则无法正常工作

这.htaccess文件重写为/admin/index.php当我打开网址是这样的: http://example.com/admin/ 但是在http://example.com/admin/accounts/上,将请求重写为/index.php(第一条规则)。 我的配置文件出了什
1回复

带有URL重写的htaccess无法正常工作

这是我的htaccess代码: 显然,我希望将此URL:www.example.com/username转换为http://www.example.com/index.php?id=82&user=username 但是,这不起作用。.(此代码导致htaccess根本无法正
1回复

.htaccess重写导致index.php无法正常工作

我具有以下重写条件,这些条件使我可以:1)访问不带.php扩展名的页面,以及2)使站点直接访问/ pages /目录中的文件。 出于某种原因,我无法通过URL以url.com/profile访问该文件夹的index.php,我必须以url.com/profile/index进行访问
3回复

htaccess重写规则无法正常工作

我有以下htaccess文件 当我转到我的网址并输入http://www.mysite.com/username 然后在profile.php文件中我有 它打印出来 应该打印出来的地方 所以我想我的重写规则有问题吗?
1回复

htaccess无法正确重写网址

我遇到以下问题: .htaccess 不重写我的网址 友好的网址应如下所示 HTTPS://domain.tld/view/1 原始网址应这样重写: HTTPS:?//domain.tld/view.php ID = 1 上面的htaccess的结果是
2回复

.htaccess无法重写我的网址

我做了一个简单的网址缩短器。 我试图让的.htaccess重写的URL看起来S形这http://chrismepham.com/q4IT612这个http://chrismepham.com/index.php?code=q4IT612 ,以便它可以在使用重定向到外部网址的函数。 这是我
2回复

使用htaccess重写网址

如何使用htaccess以这种方式更改url: http://example.com/page.php?go= 某些 .php 应该重定向到: http://example.com/ 一些东西 如果get参数名称与'go'不同,则按原样...