[英]Mod rewrite and dynamic URLs
我知道这是一个常见问题,但我无法弄清楚。
我有以下网址:
http://buildsanctuary.com/viewbuild.php?id=3&title=this_is_a_title&page=1
我希望网址是:
http://buildsanctuary.com/viewbuild/3/this_is_a_title/1
通常对于mod重写,我会将用户发送到我想要的链接,并让htaccess完成所有工作。
因此,在这种情况下,我尝试将用户链接到首选的URL样式并重写URL,但无济于事。
我应该如何处理任何帮助? 我想将用户发送到首选URL,但是我可以使用htaccess允许我以与普通动态URL相同的方式处理页面和URL $ _GET信息吗?
我已经尝试了mod重写生成器等,但是没有任何效果。
这是各族给我的:
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.php$ /viewbuild.php?id=$1&title=$2&page=$3 [L]
谢谢。
修正生成器规则:
RewriteRule ^viewbuild/([^/]*)/([^/]*)/([^/]*)\.php$ /viewbuild.php?id=$1&title=$2&page=$3 [L,QSA]
但是,我会这样做:
RewriteRule ^([^/]*)/(.*) /$1.php/$2 [L]
然后将您在$_SERVER['PATH_INFO']
获得的内容映射到PHP中的首选项。
将此代码放在您的DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)/([^/]+)/([^/]+)/([^/]+)/?$ /$1.php?id=$2&title=$3&page=$4 [L,QSA]
应该做的把戏
^ viewbuild /([[0-9] +)/([a-z _] +)/-([0-9] +)/?$ viewbuild.php?id = $ 1&title = $ 2&page = $ 3 [NC,L ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.