php如何把所有访问都指向index.php
我想把要访问的类和方法直接写到url路径里面如:topic-detail-3.htm然后这个地址被index.php接收,index.php解析url路径 然后获取上面的类,方法还有参数来完成页面跳转?请问如何把topicl-detail-3.htm访问指向index.php?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
你可以参考 一下 MVC 的做法
url重写啊,前提是你的程序是单入口的
这是伪静态
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
</IfModule>
这是php
<?php
$lll_route = trim("$_SERVER[REQUEST_URI]", "/");
if (file_exists("views/$lll_route.tpl")) {
ob_start();
require_once("views/$lll_route.tpl");
$lllpage = ob_get_contents();
ob_end_clean();
echo $lllpage;
} elseif ($lll_route == "") {
ob_start();
require_once("views/home.tpl");
$lllpage = ob_get_contents();
ob_end_clean();
echo $lllpage;
} else {
$error = "$lll_route";
ob_start();
require_once("views/404.tpl");
$lllpage = ob_get_contents();
ob_end_clean();
echo $lllpage;
}
?>
appach下可用
问题是伪静态转为nginx后是啥???
再线急等啊
引用来自“eechen”的评论
这个需要配置Nginx或者Apache重写.
可以参考WordPress的重写规则:
Nginx:
location / {
try _files $uri $uri/ /index.php?$args;
}
Apache:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
对
uri rewrite
单入口,rewrite
rewrite
这个需要配置Nginx或者Apache重写.
可以参考WordPress的重写规则:
Nginx:
location / {
try _files $uri $uri/ /index.php?$args;
}
Apache:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
现在我点击的是topic-detail-3.htm这个路径 它要如何到达index.php。我想的是能不能不用参数而是直接在url内部实现,就像九秒的这个 http://www.9miao.com/question-list-15.html
回复
楼下正解
做个参数,当成回调地址阿