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”