【发布时间】:2015-04-01 08:01:44
【问题描述】:
我正在使用 MVC 微框架,并且我有以下 .htaccess 规则:
Options -MultiViews
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
这会将所有内容重写为 index.php?url=(e.g. user/register/)
在名为“profile”的控制器中,我有一个操作“view”(需要 2 个参数),这意味着 URL 通常是:
profile/view/arg1/arg2
我想要做的是拥有一个更友好的网址,例如:
profile/1/profile-name
但是当我尝试以下操作时:
RewriteRule ^profile/([0-9]+)/(.*)/?$ profile/view/$1/$2 [NC,L]
它不工作。
换句话说,我只是试图重写原始 url 以删除“查看”操作,以便任何人只需输入配置文件 id (arg1) 和名称 (arg2) 即可访问该 url。
【问题讨论】:
标签: php .htaccess mod-rewrite