【问题标题】:mod rewrite url automaticallymod自动重写url
【发布时间】:2017-01-25 15:28:47
【问题描述】:

我有一个重写这个网址的问题:

http://example.org/public/item.php?id=4

我喜欢用 htaccess 文件重写:

http://example.org/public/item/4.php

这是我的 htaccess 文件:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /public

RedirectMatch ^/$ /public/

RewriteRule ^public/item/([^/]*)\.php$ /public/item.php?id=$1 [L]

只有在我手动输入前一个 url 时才有效,但我丢失了所有样式 css、javascript 文件和图像,我也想自动执行此重定向 seo url。 我做错了什么?

【问题讨论】:

    标签: url mod-rewrite url-rewriting


    【解决方案1】:

    如果请求的文件名(javascript、css、图像等文件)确实存在,则必须添加条件才能不重写 url, 所以你所要做的就是在你的重写规则之前添加一个条件:

    RewriteCond %{REQUEST_FILENAME} -f
    

    在这里查看Documentation

    【讨论】:

    • 我必须像这样放入 htaccess,RewriteCond %{query.js} -f?还是所有的绝对路径?
    • 不,您必须照原样输入RewriteCond %{REQUEST_FILENAME} -f,因为%{REQUEST_FILENAME} 是您请求的实际文件名
    • 我尝试这样做,但是当重新加载页面时,它给了我 404
    • 我不明白我是否还必须更改代码 php 中链接中的 url。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多