doudao9915 2016-07-25 10:18
浏览 127
已采纳

URL重写规则在php中不起作用

i am using godaddy hosting and addon domain. i want to make my long url to short url.

for example my url is follwing: www.example.com/events/landing_event.php?url=text-first

and i want following url: www.example.com/events/text-first

for this i am using following rewrite url in .htaccess file

RewriteRule ^([a-zA-Z0-9-/]+)$ events/landing_event.php?url=$1 [L]

RewriteRule ^([a-zA-Z0-9-/]+)/$ events/landing_event.php?url=$1 [L]

but this rewrite rule is not working. so please help how can i make short url.

  • 写回答

3条回答 默认 最新

  • dpq39825 2016-07-25 10:25
    关注

    Use this source after you make sure RewriteEngine Enabled and On

    RewriteEngine On
    RewriteRule ^events/([^/]*)$ /events/landing_event.php?url=$1 [L]
    

    The original URL: http://www.example.com/events/landing_event.php?url=text-first

    The rewritten URL: http://www.example.com/events/text-first

    Updated with 500 Internal Server Error

    Your code is guaranteed to generate 500 internal server error because it is causing infinite looping. Reason is that your matching URI pattern is: ^events/([^/]*)$

    Which matches your URLs before and after rewrites. And once it reaches max allowed internal rewrite limit Apache throws 500 internal server error and bails out.

    Change your code to this

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^events/([^/]*)$ /events/landing_event.php?url=$1 [L,QSA,NC]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机