我要让我的网址从的mod_rewrite删除子文件夹和PHP
root.com/sub/?page=home
TO
root.com/home
我想要去删除子文件夹,删除PHP,只是离开最基本的网址。 另外如果可能,我想将所有非'root.com/ [*]'重定向回root.com。例如,“root.com/home/index.php?page=home”和“root.com/sub/test/”都会重定向回“root.com”。
的.htaccess和mod_rewrite的似乎是最好的办法 到目前为止,我有这样的:
RewriteEngine On
#remove subfolder, WORKS
RewriteCond %{HTTP_HOST} ^root\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.root\.com$
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule (.*) /sub/$1 [L]
这个工程并删除子文件夹
#remove PHP, not working :S
RewriteRule ^([a-zA-Z0-9_-]+)$ /index.php?page=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?page=$1 [L]
但这不是工作,离开“ ?page = home'ect 我想我在第二条规则的正则表达式之前缺少了一些东西,但是我对此很感兴趣。
在此先感谢!
编辑:考虑到[L]的事情,仍然没有骰子。
我猜它需要在一次命中而不是单独迭代中完成。
凹凸/我发现了另一个问题,当我认为从我的电脑该站点时(第一部分)显示为'www.root.com/page',这很好,但是在我的队友电脑上,它显示为'www.root.com/sub/page'wtf。 – Neros 2011-02-08 06:04:49