我是这个路由和mod-reqrite等的完全初学者。东西。 我在这里遵循了关于URL路由的教程:http://wettone.com/code/clean-urls,但无法使其工作。
我只想路由所有和任何类型的网址,例如
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文件夹中的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
我该怎么办? 顺便说一句,我更喜欢保持简单,不使用任何框架
提前完成了......
编辑:我可以知道为什么反对投票?我做错了什么?我不能在这里问这类问题吗?
答案 0 :(得分:1)
所以基本上你想要一切都映射到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组件来完成这项工作http://symfony.com/doc/current/components/routing/introduction.html:)
答案 1 :(得分:0)
使用htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteBase /weblog/
RewriteRule (.*)/(.*)/(.*)/(.*)$ index.php?y=$1&m=$2&d=$3&n=$4