2017-04-05 101 views
0

我有一个动态创建的URL page.php?id=param使用.htaccess参数重写Url

在这个URL page.phpparam是动态的,所以我的HTML链接看起来像

<a href="page.php?id=param">link</a> 

我需要这个网址为

mydomain.com/param 

,它应该去page.php和参数id应使用从page.php

这是我现在使用

# To externally redirect /dir/foo.php?id=123 to /dir/foo/123 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?id=([^&\s]+) [NC] 
RewriteRule^%1/%2? [R,L] 

# To internally forward /dir/foo/12 to /dir/foo.php?id=12 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/.]+)/?([^/.]+)?/?([^/.]+)?/?([^/.]+)?$ /$1.php?id=$2 [QSA,L] 

的代码,但改写如下:

mydomain.com/page/param 

所需的输出应该是:

mydomain.com/param 
+0

向我们展示你的.htaccess文件,到目前为止,你尝试过什么? – Adam

+0

@亚当,您好我已编辑该问题,请检查代码。 谢谢! – aswindev

回答

0
RewriteEngine On 
RewriteRule ^page/([A-Za-z0-9-]+)/?$ page.php?id=$1 [NC,L] 

L(最后停止处理规则)
NC(不区分大小写)

还可以查看本教程URL Rewriting for Beginners