如何使用对 SEO 友好的 apache URL 更改 php URL


How to change php URLS with SEO-friendly apache URLS?

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

否则很难

让它工作(我认为)。

试试这个(写这个到服务器 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相同(即如果服务器中不存在)。

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

只要尝试一下自己,你就会知道我在说什么。