Php .htaccess重写规则指向2个不同的文件

Php .htaccess重写规则指向2个不同的文件,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我的结构如下: site.com/organizer 其中,organizer是一个变量,并且 site.com/organizer/event 其中,事件也是一个变量 当有人访问/organizer时,我希望它指向organizer.php?name=$1 当有人访问/organizer/event时,我希望它指向event.php?organizer=$1&event=$2 我可以做第一个或第二个,但从来没有在一起。它们似乎相互覆盖 RewriteRule ^([^/]+)/(.*)$

我的结构如下:

site.com/organizer
其中,
organizer
是一个变量,并且

site.com/organizer/event 
其中,
事件
也是一个变量

当有人访问
/organizer
时,我希望它指向
organizer.php?name=$1

当有人访问
/organizer/event
时,我希望它指向
event.php?organizer=$1&event=$2

我可以做第一个或第二个,但从来没有在一起。它们似乎相互覆盖

RewriteRule ^([^/]+)/(.*)$ event.php?organizer=$1&event=$2 [QSA]
RewriteRule ^([^/]+)$ organizer.php?name=$1 [QSA]
尽管我在上面加了:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
似乎我的所有CSS、JavaScript、图像等文件都在不同的文件夹中,不再指向正确的路径


我如何解决这两个问题?

我自己可以这样解决:

RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ event.php?organizer=$1&event=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_-]+)$ organizer.php?name=$1 [L,QSA]
我不得不再次提出第二条规则的条件

另外,对于要重写的文件的URL,我通过在它们前面添加斜杠来修复,就像这样调用它们:

RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ event.php?organizer=$1&event=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_-]+)$ organizer.php?name=$1 [L,QSA]
href=“/css/bootstrap.min.css”

而不是

href="css/bootstrap.min.css"

给出一个正在被重写的js或css文件的url示例。plzI刚刚修复了这些文件的url。在调用它们时,我在它们前面添加了一个“/”,比如:href=“/css/bootstrap.min.css”而不是href=“css/bootstrap.min.css”