简体   繁体   中英

htaccess redirect url to directory file

am working on making my site urls search engine friendly and for which am rewriting urls with GET parameters and so i have done rewriting but now htaccess is not pointing that url to php file which is suppose to handle the url

my old url

www.domain.com/foo/myfile.php?nid=554

new rewritten url with php

www.domain.com/foo/554-demo-page-title

my current htaccess rules which work for old urls but not for new

Options +FollowSymLinks
RewriteEngine On 
#RewriteCond %{SCRIPT_FILENAME} !-d
#RewriteCond %{SCRIPT_FILENAME} !-f
RewriteBase /
RewriteRule ^([0-9]+)-(.*) ./foo/myfile.php?nid=$1 [NC]

so i want to that both old and new urls land on /foo/myfile.php becuase myfile.php can handle both urls incase of old url it rewrite and redirect as new url , i played for few hours with htaccess rules but no success

You can use this rule in site root .htaccess (assuming there is .htaccess inside foo/ directory):

Options +FollowSymLinks
RewriteEngine On 
RewriteBase /

RewriteRule ^foo/(\d+)-.*$ foo/myfile.php [L,QSA,NC]

If you already have /foo/.htaccess then use this rule inside that file:

Options +FollowSymLinks
RewriteEngine On 
RewriteBase /foo/

RewriteRule ^(\d+)-.*$ myfile.php [L,QSA]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM