Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
Apache 需要关于重写规则的帮助吗_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache 需要关于重写规则的帮助吗

Apache 需要关于重写规则的帮助吗,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我的应用程序使用的实际URL是: http://site.com/gallery?id=23 但我希望能够实现同样的目标 http://site.com/topic/place/new-delhi/gallery/23 我没有重写规则的经验,如何设置 其中“地点”和“新德里”是两个动态值。 这可能吗?谢谢。你说“地方”和“新德里”是两种动态价值观是什么意思 规则是: RewriteRule /topic/([a-z-]*)/([a-z-]*)/gallery/([0-9]*) /gallery?

我的应用程序使用的实际URL是:

http://site.com/gallery?id=23
但我希望能够实现同样的目标

http://site.com/topic/place/new-delhi/gallery/23
我没有重写规则的经验,如何设置

其中“地点”和“新德里”是两个动态值。 这可能吗?谢谢。

你说“地方”和“新德里”是两种动态价值观是什么意思

规则是:

RewriteRule /topic/([a-z-]*)/([a-z-]*)/gallery/([0-9]*) /gallery?id=$3 [R=301]
根据这条规则,地点以1美元存储,新德里以2美元存储

你可以这样得到它们

RewriteRule /topic/([a-z-]*)/([a-z-]*)/gallery/([0-9]*) /gallery?var1=$1&city=$2&id=$3 [R=301]

如果您转到
http://site.com/topic/place/new-delhi/gallery/23
您将被重定向到
http://site.com/gallery?var1=place&city=new-德里&id=23

通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.htaccess

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^topic/[^/]+/[^/]+/gallery/([^/]+)/?$ gallery?id=$1 [L,QSA,NC]

它无法工作,因为重写规则与前导斜杠不匹配
/