重写mod无法正常工作

时间:2016-10-30 02:31:33

标签: php .htaccess mod-rewrite

我需要在我的网址中包含1个变量或有时2个变量。

class Animals {
    String name;

    @Override
    public String toString() {
        return "Animal name : " + name;
    }
 }

我在http://example.com/home or http://example.com/home/hr 文件夹中创建了以下.htaccess文件:

public_html

它不能正常工作!我在 RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1 RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1 ReWriteRule ^([^/]+)/(\d+)/? index.php?page=$1&q=$2 index.phppublic_html中有hr.php

现在public_html/view包含hr.php

index.php

所以现在include("view/hr.php") 有页面变量而index.php有第二个变量。

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

不要将您的逻辑放在.htaccess中,将除静态文件之外的所有内容重写为一个php文件,然后在其中路由您的请求。 E.g:

# only rewrite static file URLs when not found, otherwise let them through 
RewriteCond $0 !^(?:js|css|img|video|audio)$ [OR]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond ^[^/]+ index.php

现在,在index.php中,您拥有$_SERVER['REQUEST_URI']中的网址,您可以添加所需的任何文件。