dongyongkui6329 2014-08-03 14:50
浏览 31
已采纳

使用带有干净URL的$ _GET

I know this has been asked many a time, but i cannot find the answers I'm looking for.

Basic bit of URL rewriting but first time doing it.

example url:

domain.com/viewbuild.php?id=25

Desired:

domain.com/viewbuild/25

Attempted htaccess code:

RewriteRule ^viewbuild/([a-zA-Z0-9]+)/$ viewbuild.php?id=$1 [L,QSA]

However, I am trying to use:

$id = $_GET['id'];

But i am getting errors with this for undefined index.

I thought because i am rewriting the URL that GET variables would still work?

Thanks. Craig.

Edit as requested, full .htaccess.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^viewbuild/([a-zA-Z0-9]+)/?$ /viewbuild.php?id=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L,QSA]
  • 写回答

1条回答 默认 最新

  • duangan7834 2014-08-03 14:59
    关注

    The regex ^viewbuild/([a-zA-Z0-9]+)/$ expects a trailing slash, so it will only match /viewbuild/25/. Try this one:

    RewriteRule ^viewbuild/([a-zA-Z0-9]+)/?$ /viewbuild.php?id=$1 [L,QSA]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部