Php 请帮助我进行URL路由
我是这个路由和mod rekrite等东西的完全初学者。 我在这里遵循了一个关于URL路由的教程:,但无法让它工作 我只想路由所有和任何类型的URL,例如Php 请帮助我进行URL路由,php,mod-rewrite,Php,Mod Rewrite,我是这个路由和mod rekrite等东西的完全初学者。 我在这里遵循了一个关于URL路由的教程:,但无法让它工作 我只想路由所有和任何类型的URL,例如 http://wettone.com/weblog/2000/01/01/example http://wettone.com/weblog/2000/01/01 http://wettone.com/weblog/2000/01 http://wettone.com/weblog/2000 指向文档根目录中weblog文件夹中的my in
http://wettone.com/weblog/2000/01/01/example
http://wettone.com/weblog/2000/01/01
http://wettone.com/weblog/2000/01
http://wettone.com/weblog/2000
指向文档根目录中weblog文件夹中的my index.php脚本,目录路径如下:
http://wettone.com/weblog/index.php?y=2000&m=01&d=01&n=example
http://wettone.com/weblog/index.php?y=2000&m=01&d=01
http://wettone.com/weblog/index.php?y=2000&m=01
http://wettone.com/weblog/index.php?y=2000
我怎样才能做到这一点。
顺便说一句,我更喜欢保持简单,不使用任何框架
Thanx提前
编辑:我可以知道为什么投反对票吗?我做错了什么?我不能在这里问这类问题吗?使用htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteBase /weblog/
RewriteRule (.*)/(.*)/(.*)/(.*)$ index.php?y=$1&m=$2&d=$3&n=$4
那么基本上您希望所有内容都映射到index.php? 如果是,下面是取自symfony1 htaccess的代码片段
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
在php中,如果我没记错的话,您必须使用$_SERVER['REQUEST_URI'],来解析URI并决定显示什么
最好的方法是只使用symfony2组件来完成此任务:Thnx…我尝试过,但它给了我内部服务器错误。怎么了?顺便说一句,我已经把这个htaccess放在我的文档根目录中,index.php在weblog文件夹中。是否正确?是否打开了mod_rewrite,然后重新启动apache?好的,mod_rewrite已被注释,但我取消了注释并重新启动了apache。让我再多说几句,因为它起作用了。给定内部服务器错误。我的index.php位于weblog文件夹中,我已将htaccess放在文档根目录中。是否正确?@NitinBansal:已编辑代码,请立即检查。htaccess应与index.php位于同一目录中,否?我认为重写基应该设置为webroot如果托管在example.com,/foo/如果托管在example.com/foo,等等。没有人能猜到为什么会出现内部服务器错误。Web服务器日志会告诉我们。这也是超级简单,请阅读更多的教程;考虑写一个没有意义的标题来寻找一些。这个星期我偶然发现了一个超小的框架。基本上只给你你想要的,没有更多:路由/干净的URL:ToroPHP正是我想要的。非常感谢你:-