页面重定向的配置

时间:2013-08-09 15:54:10

标签: .htaccess wamp

我安装了WAMP,并且E:/wamp/www/project/index.php项目中的项目从index.php重定向到show.php我正在使用下面的.htaccess脚本来创建网址show.php显示为/article-title,而不是通常的show.php?id=xxx

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule  (.*)$ show.php?id=$1 [QSA,L]

但是,在索引/显示页面旁边的.htaccess中找到的上述project/文件似乎不起作用。当我转到www/

时,它甚至没有显示项目文件夹

我不知道问题出在哪里,并且重写模块已经开启

2 个答案:

答案 0 :(得分:1)

鉴于您的文章网址如下:

http://localhost/project/1122-some-title-comes-here

您可以使用此规则:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^project/(\d+)-([\w-]+)/?$ /project/show.php?id=$1 [QSA,L]

如果您想要根文件夹中的文章:

http://localhost/1122-some-title-comes-here

您可以将上述内容更改为:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(\d+)-([\w-]+)/?$ /project/show.php?id=$1 [QSA,L]

以上条件意味着,如果文件夹,文件和符号链接为false,则重写它。 规则本身^(\d+)-([\w-]+)/?$如果以数字和短划线开头并包含其他字母数字字符和短划线,则结束与否/内部重定向到:

/project/show.php?id=$1

$1表示将括号的结果从规则传递到(\d+)的ID,在我的网址示例中,这将表示数字1122

答案 1 :(得分:0)

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html “RewriteBase指令指定用于替换相对路径的每个目录(htaccess)RewriteRule指令的URL前缀。”