Htaccess将目录重写为文件

时间:2013-11-24 14:29:08

标签: php apache .htaccess mod-rewrite

# php_value session.cookie_domain .rhr.fm

# Enable Rewrite Engine
RewriteEngine on

#Create friendly URL
RewriteRule ^(data|cache)($|/) - [L]

RewriteRule ^([^/]+) index.php?page=$1 [L]

再次问好Stackoverflow!

我想在我的网站上重定向SEO的URL,

  

www.example.com/ 关于

     

www.example.com/?page= 关于

  

www.example.com/ 关于/

     

www.example.com?page= 关于

但dirs datacache被排除在外,所以

  

www.example.com/data/js/page.js

重定向到

  

www.example.com/?page=data/js/page.js

我已经尝试过上面的代码,但是没有成功 - $_GET['page']总是转储index.php

你能帮我吗?

提前致谢!

1 个答案:

答案 0 :(得分:3)

这应该有效:

RewriteEngine on

#Create friendly URL
RewriteRule ^(data|cache)($|/) - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]

由于2 RewriteCond个语句,第二个规则将跳过重写的所有文件和目录。