0
我想匹配的網址是這樣的:重寫規則不起作用
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/
相反,我想這個URL鏈接到
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>
嘗試添加:'RewriteRule^line/$ line/index.php'之前的具體一個 – kaldoran
您在問題中發佈的規則將不會重寫請求URL'http:// www.example.com/line /'所以看起來你必須在你的問題中添加更多細節。目前尚不清楚。請在問題中內嵌完整的現有規則集。一些任意的外部網站的鏈接在這裏不是SO的替代品。 – arkascha