【问题标题】:Routing php query using .htaccess使用 .htaccess 路由 php 查询
【发布时间】:2013-11-16 17:18:05
【问题描述】:

我正在努力寻找更好的解决方案来解决这个问题。我没有使用任何框架,如 silex、Yii 等。因此我没有这些框架提供的通用路由处理机制。我的 URL 模式是这样的

routing.php
routing.php?action=create
routing.php?action=list&id=1

我想要的结果网址是

/routing
/routing/create
/routing/list/1

我对.htaccess有一些非常基本的了解,下面是我目前的创建

RewriteEngine On
RewriteBase /name/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

这些代码可以很好地将任何 .php 文件放到 /something 中。但是,我坚持要继续生成获取 /routing/create/routing/list/1 的通用解决方案。感谢您的帮助。

【问题讨论】:

    标签: .htaccess routing


    【解决方案1】:

    让你的 .htaccess 像这样:

    RewriteEngine On
    RewriteBase /name/
    
    RewriteCond %{DOCUMENT_ROOT}/name/$1.php -f
    RewriteRule ^([^/]+)/([^/]+)/?$ $.php1?action=$2 [L,NC,QSA]
    
    RewriteCond %{DOCUMENT_ROOT}/name/$1.php -f    
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ $1.php?action=$2&id=$3 [L,NC,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.php -f 
    RewriteRule ^(.*)$ $1.php [L]
    

    【讨论】:

    • 嗨,是否可以用可以取任何名称的正则表达式替换“路由”字词?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多