重写规则问题:.htaccess

Posted

技术标签:

【中文标题】重写规则问题:.htaccess【英文标题】:Rewrite-rules issues : .htaccess 【发布时间】:2014-07-17 06:34:58 【问题描述】:

我想让这个 URL 变得干净: news.php?post=13 但是当我尝试使用这个 RewriteRule 时:

RewriteRule ^(news)\/([0-9]+)\/?$ news.php?post=$2

它只显示新闻页面,没有帖子内容。 过去2天一直困扰着我,我无法弄清楚。有人可以帮我解决这个问题吗?

这是整个 Htaccess

重写引擎开启 RewriteRule ^(news)\/([0-9]+)\/?$ news.php?post=$1 RewriteRule ^(verify)/(.*)/([a-zA-Z0-9_-]+)$ validate_account.php?usr=$2&hash=$3 [QSA,L] RewriteCond %REQUEST_FILENAME !-d RewriteCond %REQUEST_FILENAME\.php -f 重写规则 ^(.*)$ $1.php

【问题讨论】:

【参考方案1】:

试试这个方法:

RewriteEngine On

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME\.php -f

RewriteRule ^news/([0-9]+)\/?$ news.php?post=$1

【讨论】:

【参考方案2】:

试试这个配置:

RewriteEngine On 

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME\.php -f

RewriteRule ^news/([0-9]+)\/?$ news.php?post=$1
RewriteRule ^verify/(.*)/([a-zA-Z0-9_-]+)$ validate_account.php?usr=$1&hash=$2 [QSA,L]
RewriteRule ^(.*)$ $1.php

【讨论】:

【参考方案3】:
RewriteRule ^(news)\/([0-9]+)\/?$ news.php?post=$2

使用$1

【讨论】:

尝试删除围绕“新闻”的括号。另外我不确定为什么你的“新闻”规则有“\/”而你的“验证”规则只有“/”...... 和括号应该被适当地反冲,但它们没用

以上是关于重写规则问题:.htaccess的主要内容,如果未能解决你的问题,请参考以下文章

apache重写规则可以进入httpd.conf吗

Apache 多重重写规则

IIS URL 重写规则

在发布配置中插入重写规则

重写规则问题:.htaccess

IIS 重写规则