【问题标题】:Rewrite URL with RewriteRule using url Variable使用 url 变量使用 RewriteRule 重写 URL
【发布时间】:2013-02-27 14:01:59
【问题描述】:

好的,我有一个链接 http://www.cuadmemo.com/posts.php?id=2861 并希望它显示为这样 http://www.cuadmemo.com/2861 我在 .htaccess 文件中有这个。

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$  posts.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$  posts.php?id=$1

我已经尝试了许多不同的解决方案,我在这个网站上阅读过,但到目前为止似乎都没有。任何解决此问题的建议将不胜感激。

【问题讨论】:

    标签: php .htaccess url mod-rewrite


    【解决方案1】:
    RewriteEngine On
    RewriteBase /
    
    # Make sure we don't rewrite directories and existing files        
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-zA-Z0-9_-]+)/?$ posts.php?id=$1 [L]
    

    【讨论】:

    • 比我快几秒钟,我删除了我的答案:)
    • 我将它添加到 .htaccess 文件中,但它仍然给了我相同的结果 :(。我正在提取 if 语句中的链接数据,仅发布当天或前一天的故事,并且等等。这与它有关吗?如果有帮助,我将使用 hostgator 作为经销商帐户下的 Web 服务器提供商。
    • 请尝试使用 RewriteBase 指令的更新答案
    • .htaccess 只能与 Apache 一起使用,确保您的 vhost 配置具有 AllowOverride All 指令,将 .htaccess 文件放入您的文档根目录。确保读取 .htaccess 的简单测试是添加无效标记 - 您的浏览器将显示 internal server error
    • 感谢所有帮助!真的帮了我大忙。
    猜你喜欢
    • 2017-04-20
    • 2021-12-30
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    相关资源
    最近更新 更多