dongyingjiu0669 2014-03-08 17:43
浏览 563
已采纳

.htaccess重写规则GET参数

I have written an web app in php with an dispatcher, so I want to pass the controller and function via get parameters to index.php, but to get SEO URLs I want to write some rewrite rules, but I cant geht them to work. Here an example.

URL: http://api.domain.com/v1/ here is the index.php

DirectoryIndex index.php

RewriteEngine On

Options +FollowSymLinks
#Das explizite Setzen der Basis-URL f�r die weiteren Manipulation.
RewriteBase /v1/

#schlie�e existierende Dateien
RewriteCond %{REQUEST_FILENAME} !-f
#Ignoriere URL's die mit .htm enden
RewriteCond %{REQUEST_URI} !.+\.htm
#es erfolgt ein Aufruf ohne trailing slash
RewriteCond %{REQUEST_URI} !(.*)/$

#api events und mods
RewriteRule    ^Login/do/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$    ?evt=Login&mod=_do&username=$1&password=$2&m=$3    [NC,L]    # Process to index

#Es wird gepr�ft, ob es sich um eine vorhandene Datei handelt.
RewriteCond %{REQUEST_FILENAME} !-f
#Es wird gepr�ft, ob es sich um ein vorhandenes Verzeichnis handelt.
RewriteCond %{REQUEST_FILENAME} !-d
#Verarbeite alles mit der index.php Datei.
RewriteRule (.*) index.php

I want an URL like this: http://api.domain.com/v1/Login/do/username/password/m/ But my php script dont get the Login and _do params! What's wrong with these rewrite rules?

  • 写回答

1条回答 默认 最新

  • douju1968 2014-03-08 17:52
    关注

    Here is a cleaner version of your htaccess, this should work

    RewriteEngine On
    RewriteBase /v1/
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    
    RewriteRule ^Login/do/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?evt=Login&mod=_do&username=$1&password=$2&m=$3 [NC,L]
    
    RewriteRule ^(.*)$ index.php [L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开