0

所以我从数据库中提取事件,例如/event-detail.php?id=1,但我希望它看起来像 /Event-Name/ 。我如何实现这一目标?我对 mod Apache rewrite 有所了解,但不足以知道它是否可以在这里工作。还是我接近这个错误?我是否需要使用名称来提取项目?/event-detail.php?name=Event Name? 我真的不想那样做,即使它看起来会容易得多。

4

2 回答 2

2

否则很难让它工作(我认为)。

试试这个(把它写到服务器 conf 或 .htaccess):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^(.*)$ event-detail.php?name=$1 [QSA,L] 
</IfModule>

这将重写 url 并将现有文件和目录以外的所有内容转发到event-detail.php脚本。

更多信息,如果用户调用/myShowEvent1将被重写为event-detail.php?name=myShowEvent1或者用户调用/event/25366273将与调用相同event-detail.php?name=event/25366273(即如果它们在服务器中不存在)。

于 2012-06-02T05:13:20.353 回答
0

但请记住,您在页面上拥有的所有链接都必须是绝对的,而不是相对的。

试试你自己,你就会知道我在说什么。

于 2012-06-02T11:13:34.297 回答