【问题标题】:htaccess rewrite: Grab text after last slash as parameterhtaccess rewrite:在最后一个斜杠之后获取文本作为参数
【发布时间】:2020-10-16 01:23:05
【问题描述】:

我正在使用这条规则

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

重写这个

www.domain.com/123

到这里

www.domain.com/index.php?p=123

效果很好。

但是,我需要能够在技术参数前面插入一些用于 SEO 的关键字,因此可见 URL 如下所示:

www.domain.com/a/b/c/123

我仍然只需要最后一个斜杠之后的文本(或者,如果有一个斜杠,则在最后两个斜杠之间。)

我想这个问题之前已经回答过了,但我找不到它......

谢谢 拉斐尔

【问题讨论】:

  • 最后一部分总是数字吗?
  • 可以,否则为无效参数值
  • 好的,那么@Croise 的回答应该有效。

标签: apache .htaccess mod-rewrite rewrite


【解决方案1】:

你可以使用它:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?:.+/)?(\d+)/?$ index.php?p=$1 [L,QSA]

不需要带有 -d 和 -f 的行。这是以防万一您使用只有数字名称的文件夹或文件。这种情况很少见……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    相关资源
    最近更新 更多