Php 修改重写问题

Php 修改重写问题,php,apache,Php,Apache,在我的网站的根。。。www.domain.com。希望添加一些静态页面,以便用户可以设置页面url。 因此,如果用户设置为url配置文件,则整页url应为www.domain.com/profile。。 到目前为止,一个简单的重写规则可以完成这项工作。 将其转换为/staticpage.php?tag=profile 问题是,我希望在根目录下的一些页面(如www.domain.com/shop)不是静态的。。。 那么,如果对主目录的所有请求都转到/staticpage.php?tag=$1?我建

在我的网站的根。。。www.domain.com。希望添加一些静态页面,以便用户可以设置页面url。 因此,如果用户设置为url配置文件,则整页url应为www.domain.com/profile。。 到目前为止,一个简单的重写规则可以完成这项工作。 将其转换为/staticpage.php?tag=profile

问题是,我希望在根目录下的一些页面(如www.domain.com/shop)不是静态的。。。
那么,如果对主目录的所有请求都转到/staticpage.php?tag=$1?

我建议使用mod rewrite将所有内容发送到index.php文件,并使用前端控制器执行此操作。这样做容易多了

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则。index.php[L]

一般来说,关于ServerFault上的mod_rewrite,您会发现更多帮助,但我倾向于这样做:

RewriteEngine on
RewriteRule     ^static.*$   -       [L]
RewriteRule     ^assets.*$   -       [L]
RewriteCond     %{REQUEST_FILENAME}   !-s
RewriteRule     .*      /router.php

其中“静态”是上传的文件,“资产”是生产图形/样式表/js库等。

某些页面的静态条目,然后是其他页面的综合条目。检查
$\u服务器['REQUEST\u URI']
以确定如何将请求路由到正确的控制器或PHP文件。