apache - 用于 profile.php 查询的 htaccess 重写器

标签 apache .htaccess centos

我正在尝试写一个 .htaccess RewriteRule对于个人资料页面。我希望规则查询 SQL 数据库中的用户配置文件,如果该数据返回结果以加载 profile.php页。例子:

  • www.example.com/username
  • www.example.com/user.name
  • www.example.com/user.name123等等...

  • 但是,我还有其他页面,例如 /login , /registration , / , /chat , 等等。每次我尝试某些东西时,我都会遇到问题。
    我尝试了以下方法:
    RewriteEngine On
    RewriteRule ^(login)$ login.php [QSA]
    RewriteRule ^(logout)$ logout.php [QSA]
    RewriteRule ^([\w-]+)/?$ profile.php?pid=$1 [L,QSA]
    
    我正在尝试尽可能多地学习,但我不理解正则表达式的语法和条件。上面的规则让我可以使用之前的所有页面,但它会捕获 profile.php 中的所有其他内容。页。我究竟做错了什么?

    最佳答案

    请尝试以下正则表达式,希望它能解决您的问题。

    ^([\w]+|[\w-]+\.+[\w]+)$
    
    您可以随时使用 link测试你的正则表达式。

    关于apache - 用于 profile.php 查询的 htaccess 重写器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63239740/

    相关文章:

    php - 使用 htaccess 和 godaddy 将 HTTP 重定向到 HTTPS

    php - 当我将 URL 作为参数传递时 Apache 失败

    php - 显示子文件夹php文件中的php文件

    python - Flask + apache 发出请求或数据库时出现内部服务器错误

    apache - 当 Apache .htaccess 上的 HTTP 方法是 OPTIONS 时,如何避免请求基本身份验证?

    php - Node.js 应用程序的服务器配置

    php - 使用 htaccess 从 index.php 重定向到 another.php 文件

    python3.5 --version 命令未找到 CentOS 7

    bash - 找到上次创建的 tar.gz 并解压

    linux - 如何隐藏脚本的输出,同时解析内容以显示反馈?