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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 - Fatal编程技术网

Apache 重写规则不起作用

Apache 重写规则不起作用,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我想像这样匹配URL: http://www.example.com/line/s3360 到 我是按照这样的规则来做的: RewriteRule ^line/(.+)/?$ line/template.php?product=$1 [NC,L,QSA] 但我不想重定向URL: http://www.example.com/line/ 相反,我想将此URL链接到 http://www.example.com/line/index.php 完全访问文件: ErrorDocument 400

我想像这样匹配URL:

http://www.example.com/line/s3360

我是按照这样的规则来做的:

RewriteRule ^line/(.+)/?$ line/template.php?product=$1 [NC,L,QSA]
但我不想重定向URL:

http://www.example.com/line/
相反,我想将此URL链接到

http://www.example.com/line/index.php
完全访问文件:

ErrorDocument 400 /erreur.php?erreur=400
ErrorDocument 401 /erreur.php?erreur=401
ErrorDocument 402 /erreur.php?erreur=402
ErrorDocument 403 /erreur.php?erreur=403
ErrorDocument 404 /erreur.php?erreur=404
ErrorDocument 405 /erreur.php?erreur=405
ErrorDocument 500 /erreur.php?erreur=500
ErrorDocument 501 /erreur.php?erreur=501
ErrorDocument 502 /erreur.php?erreur=502
ErrorDocument 503 /erreur.php?erreur=503
ErrorDocument 504 /erreur.php?erreur=504
ErrorDocument 505 /erreur.php?erreur=505

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

#avoid problem with form
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]

# remove index
RewriteRule (.*)index$ $1 [R=301]

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]

# To externally redirect /dir/foo.php to /dir/foo

RewriteCond %{THE_REQUEST} line/.+
#RewriteCond %{THE_REQUEST} !line/ind
RewriteRule ^line/(.+)/?$ line/template.php?product=$1 [NC,L,QSA]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

<Files 403.shtml>
order allow,deny
allow from all
</Files>
像这样试试

RewriteRule ^line\/([a-z][0-9]{4,})\/?$ template.php?product=$1 [NC,L,QSA]

我不得不猜测一下,在/line/XXXXX之后可能会出现什么。

尝试在特定的一条规则之前添加:RewriteRule^line/$line/index.php您在问题中发布的规则不会重写请求URLhttp://www.example.com/line/ 所以看起来你必须在你的问题中添加更多的细节。目前还不清楚。请在问题中内联发布完整的现有规则集。指向任意外部站点的链接不能替代此处的链接,因此不需要转义,它不是htaccess中的分隔符。
RewriteRule ^line\/([a-z][0-9]{4,})\/?$ template.php?product=$1 [NC,L,QSA]