Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
.htaccess 重写规则不使用两个参数_.htaccess_Url_Mod Rewrite - Fatal编程技术网

.htaccess 重写规则不使用两个参数

.htaccess 重写规则不使用两个参数,.htaccess,url,mod-rewrite,.htaccess,Url,Mod Rewrite,我对重写规则很陌生。 我可以用一个变量来管理,就是这样 我有一个网页,其中重写规则是: RewriteCond %{HTTP_HOST} ^www\.someserver\.com$ RewriteRule ^/?$ "http\:\/\/someserver\.com\/" [R=301,L] RewriteRule ^(\d+)*$ ./index.php?comp=$1 RewriteRule ^(\d+)*/$ ./index.php?comp=$1 这一切都很正常。但现在我想在UR

我对重写规则很陌生。 我可以用一个变量来管理,就是这样

我有一个网页,其中重写规则是:

RewriteCond %{HTTP_HOST} ^www\.someserver\.com$
RewriteRule ^/?$ "http\:\/\/someserver\.com\/" [R=301,L]

RewriteRule ^(\d+)*$ ./index.php?comp=$1
RewriteRule ^(\d+)*/$ ./index.php?comp=$1
这一切都很正常。但现在我想在URL中再添加一个变量 我不能让它工作

现在1美元只是数字

someserver.com/1554886

但我想要两个变量

someserver.com/1554886-SOMENAME-WHATEVER-WORD-AND-HOW-MANY

但它不会表现出来

我试过这样的smth:

RewriteRule ^([^-]*)-([^-]*)$ ./index.php?comp=$1&string=$2 [L]
我如何让它工作? 我是否也必须在php端进行一些更改? URL的数字部分后面的所有内容都只用于
SEO,数字是唯一的

您还需要一条规则来处理两个参数:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\.(someserver\.com)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L,NE]

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

RewriteRule ^(\d+)-(.+)/?$ index.php?comp=$1&string=$2 [L,QSA]

不知道我是否做错了什么,但没有工作。如果我插入像someserver.com/12335453-NAME-FROM这样的URL,那么我只会得到一个错误,并且整个页面都不会显示出来。我如何在不同的子文件夹中使用相同的内容。示例:someserver.com/en/12335453-NAME-FORM。因为我喜欢使用不同的语言,所以您可以将这个.htaccess复制到任何子文件夹中,它都可以工作。如果没有,我建议你提出一个新的问题,更详细。