我想匹配这样的网址:
http://www.example.com/line/s3360
到
http://www.example.com/template.php?product=s3360
我这样做RewriteRule
就像这样:
RewriteRule ^line/(.+)/?$ line/template.php?product=$1 [NC,L,QSA]
但我不想重定向网址:
http://www.example.com/line/
相反,我想将此网址链接到
http://www.example.com/line/index.php
完整的htaccess文件:
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>
答案 0 :(得分:1)
尝试这样
RewriteRule ^line\/([a-z][0-9]{4,})\/?$ template.php?product=$1 [NC,L,QSA]
我不得不猜测,在/ line / XXXXX之后可能会发生什么。