dongtao9887 2017-01-19 08:27
浏览 6

如果将基目录作为文件处理,则使用htaccess处理子目录

I have two files in my root directory: news.php and news-detail.php. And I want them to be hadled next way:

example.com/news -> /news.php
example.com/news/(\d+) -> /news-detail?id=(\d+)

So I decided to make rewrite with my .htaccess:

RewriteRule ^news/(\d+)$ /news-detail?id=$1 [L]

But this doesn't works. As I can understand, apache hadles the beggining of url as news.php and don't let the rule work. It look tricky it don't recognize the written regexp. Then I decide to add check if file exists, but it doesn't work either:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

How can I deal with it? The only way I see is to rename news.php (to news-all.php, for example) and add one rule to .htaccess:

RewriteRule ^news$ /news-all [L]
RewriteRule ^news/(\d+)$ /news-detail?id=$1 [L]

Is there any other way?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

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