1

我希望你能提供帮助,我已经尝试了几个小时来理解 mod rewrite,但我似乎无处可去。

我想要实现的是一个 mod_rewrite,它将整个 url 作为一个 var,除非它以 '/images/.....' 等开头

我的想法是我的所有页面都在一个表中,然后从那时起找到并处理。

目前我有

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?url=$1    

这在一定程度上有效,我可以使用 $_GET 获得的任何 URL 都很棒,但我不想使用 request_filename 条件,

如果 url == '/images/' 或 == /css/ 等,则在重写规则中排除 id

希望这是有道理的,我相信这很容易。另外,如果您对如何改进我试图实现这一目标的方式有任何想法,那么请告诉我。

干杯!


目前得到

RewriteEngine On
RewriteBase /

RewriteRule ^/images/ - [L]
RewriteRule ^/css/ - [L]
RewriteRule (.*) index.php?url=$1 

感谢 Alexander 但 $_GET['url'] == 'index.php'

4

1 回答 1

1

首先为这些目录放置一条规则并使用该[L]标志。

RewriteRule ^images/ - [L]
RewriteRule ^css/ - [L]
RewriteRule (.*) index.php?url=$1

未经测试的替代方案也可能是:

RewriteCond %{REQUEST_URI} !^/images/
RewriteCond %{REQUEST_URI} !^/css/
RewriteRule (.*) index.php?url=$1
于 2012-06-19T20:43:03.957 回答