Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 添加第三个Mod Rewrite-Mod_Rewrite_Php_Regex_Apache_Mod Rewrite - Fatal编程技术网

Php 添加第三个Mod Rewrite-Mod_Rewrite

Php 添加第三个Mod Rewrite-Mod_Rewrite,php,regex,apache,mod-rewrite,Php,Regex,Apache,Mod Rewrite,伙计们。我正在尝试在.htaccess中添加第三个重写条件。问题是,我不知道如何添加另一个。因此,如果有人有一个很好的深入的教程,我将是伟大的 无论如何,回到正题上来。这是我目前的代码: Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/$1.php -f RewriteRule ^

伙计们。我正在尝试在.htaccess中添加第三个重写条件。问题是,我不知道如何添加另一个。因此,如果有人有一个很好的深入的教程,我将是伟大的

无论如何,回到正题上来。这是我目前的代码:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]


正如您可能看到的那样,上面删除了.php扩展名,并将所有不存在的文件转到用户(即:website.com/user转到用户的配置文件页面)

所以现在我需要为论坛添加一个。我想把它改写成“website.com/Group/Category/Thread”


这是可能的,还是我需要降低对此的期望?任何帮助都将不胜感激。谢谢:D

嗯,我记得我贴了这个答案:)

无论如何,您可以在以前的规则的基础上创建一个新规则,如下所示(并将
/Group/Category/Thread
替换为您拥有的任何规则):


您可以插入更多规则。假设您希望在最终捕获到user.php之前匹配这些规则,那么应该将它们放在最终规则之前

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

# match forum, forum/group, forum/group/category and forum/group/category/thread urls
RewriteRule ^forum/?$ forum.php?group=$1&category=$2&thread=$3 [L]
RewriteRule ^forum/([^/]+)/?$ forum.php?group=$1 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2&thread=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]

看起来不错。如何动态更改组类别和线程?喜欢每页吗?请提供你想做什么的详细信息作为你的声明:
,所以现在我需要为论坛添加一个。我想把它改写成“website.com/Group/Category/Thread”。
我不太清楚。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

# match forum, forum/group, forum/group/category and forum/group/category/thread urls
RewriteRule ^forum/?$ forum.php?group=$1&category=$2&thread=$3 [L]
RewriteRule ^forum/([^/]+)/?$ forum.php?group=$1 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2&thread=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]