【问题标题】:Rewrite-rules issues : .htaccess重写规则问题:.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

【问题讨论】:

    标签: php apache .htaccess url-rewriting


    【解决方案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

        【讨论】:

        • 尝试删除围绕“新闻”的括号。另外我不确定为什么你的“新闻”规则有“\/”而你的“验证”规则只有“/”......
        • 和括号应该被适当地反冲,但它们没用
        猜你喜欢
        • 2014-01-23
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多