代码之家  ›  专栏  ›  技术社区  ›  Pete

htaccess重写规则未加载网站内容

  •  0
  • Pete  · 技术社区  · 17 年前

    我正在努力。htaccess重写规则。 假设我有这个网址。

    localhost/site/index.php
    

    我想把它改写成这个网址

    localhost/site/tutorial
    

    我会用这个重写规则

    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteRule ^tutorial/(.*)$ /up/index.php
    

    页面可以工作,但是css文件不会加载。

    另外,如果我有这样的url:

    index.php?page=home
    

    然后我必须通过那个url解析才能得到“home”,而不再使用$get对吗??

    3 回复  |  直到 16 年前
        1
  •  1
  •   Bryan Migliorisi    17 年前

    只需对css文件使用绝对url,或者至少从域根引用。

    http://www.mysite.com/css/myCssFile.css
    

    或

    /css/myCssFile.css
    
        2
  •  0
  •   Tyler Carter    17 年前
    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteRule ^tutorial/(.*)$ /up/index.php
    

    这将重写任何进入教程目录的内容 /up/index.php ,这意味着除非在该位置托管css文件,否则它将无法工作。如果您的css文件位于 /tutorial/css.css ,它将重定向到 /上/索引.php

    为了基于 index.php?page=home

        3
  •  0
  •   Ted    17 年前

    因此css文件不会加载,因为您正在更改服务文件的位置。

    因此,如果链接到./css/style.css=>^/tutorial/css/style.css与/up/css/style.css不同

    如果重写,则可以保留get:

    RewriteRule ^tutorial/(.*)?(.*)$ /up/index.php?$2
    
    推荐文章