Mod_Rewrite用于干净的URL

时间:2012-07-14 13:42:45

标签: php .htaccess mod-rewrite

非常简单的请求。我希望我的网址看起来像:

http://localhost/movie/72105

而不是

http://localhost/movie?id=72105

我目前正在我的.htaccess文件中进行此设置,但它似乎无法正常工作:

RewriteEngine on
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-z\-]+)$ index.php?id=$1 [L]
</IfModule>

只是为了澄清,当mod_rewrite成功运行时,我仍然可以用来检索ID?:

$_GET['id']

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^lab/movie/(\d+)$ index.php?id=$1 [L]
</IfModule>

现在,您可以浏览http://domain.com/movie/12$_GET['id']12

答案 1 :(得分:1)

我正在使用这个

Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
RewriteBase /
#  Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

您可以通过解析

来检索id和其他参数(电影)
$_SERVER['REQUEST_URI']
你的index.php中的

比。 另见:http://httpd.apache.org/docs/current/mod/mod_rewrite.html