Mod在这里重写新手。 我想在URL中传递两个URL参数,但是以更友好的格式。 如果用户通过“example.com/blah123/sys”,在这种情况下,我应该能够提取MySQLlogging“blah123”和模式types“sys”。 这是一个例子:
url:
example.com/blah123/sys
在.htaccess中,我有:
RewriteEngine On RewriteRule ^([^/.]+)/?$ index.php?id=$1
如果传递的URL是“example.com/blah123”,而不是“example.com/blah123/sys”,则上述工作。
我尝试了以下,但它不工作:
RewriteEngine On RewriteRule ^([^/.]+)/?$/?$ index.php?id=$1?mode=$1
我需要提取在第二个parameter passing的“模式”types。 所以,如果用户input“example.com/blah123/sys”,我应该可以从URL中获得“sys”的值。 我怎样才能做到这一点? 我想使用PHP,MySql,.htacess。
更新:我目前的.htaccess:
# Use PHP 5.3 AddType application/x-httpd-php53 .php RewriteEngine On #RewriteRule ^([^/.]+)/?$ index.php?id=$1 RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?id=$1&mode=$2 [L,QSA]
你的正则表达式是错误的。 由于$
表示文本结尾,因此您不能在$
中输入$
。
这个规则应该工作:
RewriteEngine On # new rule to handle example.com/blah123/sys RewriteRule ^(\w+)/(\w+)/?$ /index.php?id=$1&mode=$2 [L,QSA] # your existing rule to handle example.com/blah123 RewriteRule ^(\w+)/?$ /index.php?id=$1 [L,QSA]