【发布时间】:2012-06-19 20:32:25
【问题描述】:
我希望你能提供帮助,我已经尝试了几个小时来理解 mod rewrite,但我似乎一无所获。
我想要实现的是一个 mod_rewrite,它将整个 url 作为一个 var,除非它以 '/images/.....' 等开头
我的想法是我的所有页面都在一个表中,然后从那时起找到并处理。
目前我有
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?url=$1
这在一定程度上有效, 我可以使用 $_GET 获得的任何 URL 都很棒,但我不想使用 request_filename 条件,
id like in the rewrite rule to exclude if url == '/images/' or == /css/ etc
希望这是有道理的,我相信这很容易。 另外,如果您对如何改进我试图实现这一目标的方式有任何想法,那么请告诉我。
干杯!
目前得到
RewriteEngine On
RewriteBase /
RewriteRule ^/images/ - [L]
RewriteRule ^/css/ - [L]
RewriteRule (.*) index.php?url=$1
感谢 Alexander 但 $_GET['url'] == 'index.php'
【问题讨论】:
-
我又卡住了,找不到答案。我的 htaccess 看起来像 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/css/ RewriteCond %{REQUEST_URI} !^/jobs/ RewriteCond %{REQUEST_URI} ! ^/images/ RewriteCond %{REQUEST_URI} !^/javascript/ RewriteRule (.*) index.php?url=$1 这很好,直到我真的想在 url 中使用 get var,比如 www.domain.com/login .htm?redirect=123 。 login.htm 以 $_GET['url'] 的形式返回,但不知道如何让任何其他 get var 正常工作,有什么想法吗?
标签: .htaccess mod-rewrite