Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 htaccess多参数重写规则_Php_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php htaccess多参数重写规则

Php htaccess多参数重写规则,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,我知道这个问题问得太多了,但找不到任何适合我的问题 我目前正在创建一个网站,我的url如下: www.foo.com/ 或www.foo.com/index.php。 它们可以采用1、2或三个不同的参数,如 www.foo.com/index.php?page=Home&lang=en&article=1 我想要的是一个像 www.foo.com/Home/ or www.foo.com/en/Home or www.foo.com/Article/1 or www.foo.com/

我知道这个问题问得太多了,但找不到任何适合我的问题

我目前正在创建一个网站,我的url如下:

www.foo.com/ 或www.foo.com/index.php。 它们可以采用1、2或三个不同的参数,如

www.foo.com/index.php?page=Home&lang=en&article=1

我想要的是一个像

   www.foo.com/Home/

or www.foo.com/en/Home

or www.foo.com/Article/1

or www.foo.com/en/Article/1
page参数是必需的,其他两个参数不是。。 我不能让任何东西为我工作。。。任何帮助都将不胜感激

非常感谢

试试这样的


最好有单独的清洁规则。将此代码放入
文档\u ROOT/.htaccess
文件:

RewriteEngine On

RewriteRule ^index\.php$ - [L]

RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/?$ /index.php?page=$2&lang=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/([0-9]+)/?$ /index.php?page=$2&lang=$1&article=$3 [L,QSA]

RewriteRule ^([^/]+)/([0-9]+)/?$ /index.php?page=$1&article=$2 [L,QSA]

我收到一个500内部错误,很抱歉,我对htaccess文件的使用非常糟糕。htaccess文件中可能有错误。请粘贴您的htaccess文件,以便我可以查看它。我在哪里可以了解有关这些重写规则的更多信息?我搜索过,但没有找到太多的资源。@AvinashPatil:有非常好的教程。
RewriteEngine On

RewriteRule ^index\.php$ - [L]

RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/?$ /index.php?page=$2&lang=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/([0-9]+)/?$ /index.php?page=$2&lang=$1&article=$3 [L,QSA]

RewriteRule ^([^/]+)/([0-9]+)/?$ /index.php?page=$1&article=$2 [L,QSA]