帮助htaccess RewriteRules

时间:2009-07-13 02:00:27

标签: php .htaccess

我再次发布这个问题,因为我没有说清楚。以下是我需要使用.htaccess文件实现的内容:

  1. 重新路由/ public_html /至/ public_html / myfolder /
  2. 制作网站/ index.php?q = param to website / param /
  3. 我的php文件在/ public_html / myfolder /里面,我的图片文件在/ public_html / myfolder / images /
  4. 里面
    Options -Indexes
    RewriteEngine on
    Options +FollowSymLinks
    
    RewriteCond %{HTTP_HOST} !^www\.website\.com$ [NC]
    RewriteRule .* https://www.website.com/$1 [L,R=301]
    RewriteRule ^$ myfolder/index.php   [L]
    
    
    # Rewrite rules
    <IfModule mod_rewrite.c>
      #RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ myfolder/index.php?q=$1 [L,QSA]
    </IfModule>
    

    问题是,它重定向很好..但我看不到任何图像!它似乎没有加载我的js,css等。

    这是我得到的错误:

    1<br />
    2<b>Notice</b>: Undefined property: stdClass::$component in <b>/home/website/mypage/includes/Template.class.php</b> on line <b>31</b><br />
    

1 个答案:

答案 0 :(得分:1)

我会做这样的事情。我认为问题可能是规则的顺序,也就是说,第一条规则将尝试加载image / js / css,因为不查看文件是否存在。

试试这个:

Options -Indexes
RewriteEngine on
Options +FollowSymLinks

RewriteCond %{HTTP_HOST} !^www\.website\.com$ [NC]
RewriteRule .* https://www.website.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ myfolder/index.php?q=$1 [L,QSA]
RewriteRule ^$ myfolder/index.php   [L]