【问题标题】:Getting values in php while using `.htaccess` RewriteEngine Rule使用`.htaccess` RewriteEngine Rule时在php中获取值
【发布时间】:2014-08-25 08:51:29
【问题描述】:

使用.htaccess RewriteEngine 规则获取php中的值

我正在使用以下规则

RewriteEngine On
RewriteRule ^([^/]*)$ page.php?title=$1 [L]

这意味着它将创建一个类似视图的页面

(即)

www.mywebsite.com/contact

www.mywebsite.com/blog

但是我如何获取在 url 中传递的值并使用 Get 方法 echo "Page content is ".$_GET['title']; 将其显示在页面内

当我在像 www.mywebsite.com/view 这样的 url 中传递值时,

它只是显示>页面内容是page.php

我在做什么错误,我该如何解决?

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案1】:

    一些不需要重写的 url 正在被重写。您可能希望像这样更改您的规则:

    RewriteEngine On
    RewriteRule ^([^/.]+)/?$ page.php?title=$1 [L]
    
    • [^/.] 确保路径中没有点
    • + 确保至少有一个字符
    • /? 允许使用可选的斜杠

    【讨论】:

    • 如果我已经有一个名为 blog 的文件夹并且如果我传递值 www.mywebsite.com/blog 它将影响正确,我该如何摆脱这个? (虽然我做 RewriteCond %{blog} !-d )仍然没有工作
    • if i pass the value www.mywebsite.com/blog it will affect right, How can i escape from this ? 不明白你的意思,能不能详细点?
    • 如果我有一个名为 blog 的文件夹,如果我使用 www.mywebsite.com/blog,它将无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多