我试图找出Apache的Mod Rewrite,到目前为止它还没有用。这是我想要做的。
我的网站根目录中有一个index.php,它是所有页面的模板。我希望能够在目录中组织我的文件,查询字符串将有斜杠。
因此...
http://www.example.com/page.html
应该是......
http://www.example.com/index.php?url=page
和...
http://www.example.com/directory/page.html
应该是......
http://www.example.com/index.php?url=directory/page
我已经开始工作,但我希望能够深入 n 目录......
http://www.example.com/directory1/directory2/page.html
应该是......
http://www.example.com/index.php?url=directory1/directory2/page
我知道我可以为我想要去的很多目录添加一堆重写但是有一行RewriteRule会在第一行之后放任何东西/将被视为查询字符串吗?
这就是我到目前为止......
RewriteEngine on
RewriteRule ^([a-z-]+)\.html$ index.php?url=$1
RewriteRule ^faculty/([a-z-]+)\.html$ index.php?url=faculty/$1
在幕后,PHP包含了指定网址的文件。
答案 0 :(得分:1)
包含从用户传递的名称的文件是个坏主意。至少实施非常强大的验证,否则准备被黑客攻击。
如果你仍想使用它 - 这是规则:
RewriteRule ^(.+)\.html$ index.php?url=$1 [QSA,L]
答案 1 :(得分:0)
这应该将任何带有.html结尾的内容重定向到index.php?url = any
www.example.com =>的index.php?URL = www.example.com/test1/test2 =>的index.php?URL = TEST1 / TEST2
RewriteRule ^([a-z-]+)\.html$ index.php?url=$1 [L,NC]