dsa88886666 2015-01-20 15:08
浏览 56
已采纳

.htaccess仅在目标不存在时重定向

I am trying to use .htaccess to alias a url like example.com/short to example.com/short.php but when I test the configuration I only get redirected when I request a php script that doesn't exist. For example: the page short.php exists but shor.php does not yet when I request the page for example.com/short I get the 404 page for example.com/short but when I request example.com/shor I get the 404 page for example.com/shor.php

the .htaccess I am using is:

RewriteEngine on
RewriteRule ^s/([A-Za-z0-9-]+)/?$ short.php?code=$1 [NC]
RewriteRule ^([A-Za-z0-9-]+)/?$ $1.php [NC,L]
  • 写回答

1条回答 默认 最新

  • dscrb00804 2015-01-20 15:24
    关注

    Use that in your .htaccess :

    RewriteEngine on
    Options -MultiViews
    
    # skip all files and directories from rewrite rules below
    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]
    
    RewriteRule ^s/([A-Za-z0-9-]+)/?$ short.php?code=$1 [NC,L]
    
    RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
    RewriteRule ^([A-Za-z0-9-]+)/?$ $1.php [NC,L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集