【问题标题】:.htaccess rewrite rules for two or more PHP files.htaccess 重写两个或多个 PHP 文件的规则
【发布时间】:2014-04-23 18:16:39
【问题描述】:

现在我有 .htaccess 文件来重写我的 profile.php 的 url(根目录)

    RewriteEngine On
    RewriteCond %(REQUEST_FILENAME) !-f
    RewriteCond %(REQUEST_FILENAME) !-d
    RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1

此代码将http://127.0.0.1/projects/webproject/profile.php?username=sarah 转换为http://127.0.0.1/projects/webproject/sarah

情况: 比如说,我有“update_availability.php”(根目录),并以这种格式http://127.0.0.1/projects/webproject/update_availability.php?month=03&day=18&year=2014 访问它。

我想把网址改成http://127.0.0.1/projects/webproject/update_availability.php/03/18/2014

我想知道的:

  1. 是否可以有一个 .htaccess 文件(根目录)并为其他 php 文件重写规则?
  2. 如何将http://127.0.0.1/projects/webproject/update_availability.php?month=03&day=18&year=2014 转换为 http://127.0.0.1/projects/webproject/update_availability.php/03/18/2014

我是 .htaccess 的新手。我将不胜感激。

【问题讨论】:

  • 1) 有可能。 2) 就像你对 profile.php 所做的那样

标签: php apache .htaccess mod-rewrite url-rewriting


【解决方案1】:

你可以使用:

RewriteEngine On
RewriteBase /webproject/

RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^([\w-]+)$ profile.php?username=$1 [L,QSA]

RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(update_availability(?:\.php)?)/([0-9]+)/([0-9]+)/([0-9]+)/?$ $1?month=$2&day=$3&year=$4 [L,QSA,NC]

【讨论】:

    猜你喜欢
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2015-02-15
    • 2017-11-21
    • 2013-06-29
    • 1970-01-01
    相关资源
    最近更新 更多