加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP / Apache:使用.htaccess重写规则

发布时间:2020-12-13 16:21:43 所属栏目:PHP教程 来源:网络整理
导读:我对mod_rewrite有点困境. 如何编写将决定以下内容的规则: 如果我浏览/ en / page / page我想将其重写为: index.php的语言= EN放大器;页= /页 但如果我只浏览/页面,我想将其重写为: 的index.php?页= /页 这可能吗? 编辑: / page只是一个随机的动态页面
我对mod_rewrite有点困境.
如何编写将决定以下内容的规则:

如果我浏览/ en / page / page我想将其重写为:

index.php的语言= EN&放大器;页= /页

但如果我只浏览/页面,我想将其重写为:

的index.php?页= /页

这可能吗?

编辑:
/ page只是一个随机的动态页面名称,它也可以是任何东西.

我需要一个规则来检查/ se ==一个字符串,并且不超过2个字符> / page – > index.php?lang = se& page = / page如果浏览页面/页面,它会注意到/ page ==超过2个字符并重写为index.php?page = / page

EDIT2:
找到我的问题的anser:


    RewriteEngine On
    RewriteBase /

    ## Check if its not a filename or dirname
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    ## Rewrite rules
    RewriteRule ^(.{2})/(.*)$index.php?lang=$1&page=$2 [L]
    RewriteRule ^(.*)$index.php?page=$1 [L,QSA]

解决方法

我让它自己工作!
如果其他人需要做同样的事情,这是规则:

    RewriteEngine    On
    RewriteBase    /

    ## Check if its not a filename or dirname
    RewriteCond %{REQUEST_FILENAME}    !-l
    RewriteCond %{REQUEST_FILENAME}    !-f
    RewriteCond %{REQUEST_FILENAME}    !-d

    ## Rewrite rules
    RewriteRule ^(.{2})/(.*)$   index.php?lang=$1&page=$2 [L]
    RewriteRule ^(.*)$index.php?page=$1 [L,QSA]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读