PHP和htaccess中的友好URL

时间:2016-11-29 00:29:40

标签: php .htaccess

我有一个用PHP构建的网站。目前我的网址如下:

http://www.domain.com/web/views/site/event.php?id=1&name=Test

我希望他们像:

http://www.domain.com/event/id/1/name/Test

我怎样才能做到这一点?我已经尝试了多个教程,并在stackoverflow中检查了答案,但未能找到合适的解决方案。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

创建.htaccess文件并添加以下行:

RewriteEngine On    # Turn on the rewriting engine
RewriteBase /
RewriteRule    ^event/id/([A-Za-z0-9-_]+)/name/([A-Za-z0-9-_]+)/?$ web/views/site/event.php?id=$1&name=$2    [NC,L]

你应该记住两件事:

  1. .htaccess应位于您的根目录

  2. 确保apache具有以下关于根目录的指令:

    AllowOverride All

  3. 这是怎么做的:

    如果您具有服务器的root访问权限,请编辑httpd.conf文件,找到根<Directory>行,并将其更改为:

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    

    如果您没有root访问权限,请让服务器管理员为您执行此操作。