【问题标题】:How to make url like directory style using .htaccess如何使用 .htaccess 制作类似目录样式的 url
【发布时间】:2014-09-11 07:16:58
【问题描述】:

我目前在我的个人项目中使用 htaccess,但我无法使 url 像 sitename.com/a/b/c 那样工作

我的基本网址:sitename.com/index.php?category=category-name&page=3 如何使这个网址像 sitename.com/category-name/3 或 sitename.com/category-name/3/page-name (或 page-name.html)

我的 .htaccess 文件:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z]+)/([0-9]+)/?$ index.php?category=$1&page=$2 [L]

它不起作用并且css,js文件不起作用。 如何使这个工作?谁能帮帮我?

【问题讨论】:

    标签: regex .htaccess directory rewrite


    【解决方案1】:

    试试这个:

    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(\w+)/([0-9]+)/?$ index.php?category=$1&page=$2 [L]
    RewriteRule ^(\w+)/([0-9]+)/(\w+)/?$ index.php?category=$1&page=$2&page-title=$3 [L]
    

    【讨论】:

    • 上面的规则处理sitename.com/category-name/3。对于sitename.com/category-name/3/page-name,请说明应该重定向到哪里。
    • Categorty: =$_GET['category'];?>
      Page: =$_GET['page'];?> 工作正常但 .css 文件未找到错误发生。并且图像文件也有同样的错误。我在本地主机和服务器上尝试过。问题一样。
    • for sitename.com/category-name/3/page-name => index.php?category=category-name&page=3&page-title=title 如果我能意识到它是如何工作的,我可以做到。就是不知道为什么找不到css、js、图片文件等。我不想用 html标签。
    • 对于没有找到的css,你确​​定url有效吗?如果直接在浏览器中输入会发生什么?你也有一个阶段有 301 重定向的规则吗?如果是这样,请在其他浏览器中尝试,因为 301 已缓存。
    • 为页面标题情况添加了一条规则,并稍微调整了另一个,试试看。
    猜你喜欢
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2021-01-29
    • 2013-06-08
    • 2011-05-15
    • 1970-01-01
    • 2021-03-14
    • 2017-03-03
    相关资源
    最近更新 更多