简体   繁体   中英

SEO friendly url is not working in server but it works in cpanel

I am trying to do an SEO-friendly URL in the CloudWays server but it's not working. Also, When I try it in the localhost or Cpanel it works fine.

Thanks!

This is my .htaccess file code:-

Options +MultiViews
RewriteEngine On

# Set the default handler
DirectoryIndex index.php index.html index.htm

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [L]

RewriteRule ^validate/([a-zA-Z0-9-/]+)$ search.php?phoneNumber=$1
RewriteRule ^validate/([a-zA-Z-0-9-]+)/ search.php?phoneNumber=$1

This is the main link:-

https://example.com/search.php?phoneNumber=16503858068

And I want it like this:-

https://example.com/validate/16503858068

Look at RewriteRule (.*) /index.php/$1 [L] .

The L option means the parser stops at this redirect rule if it matches. Since (.*) will match everything the rule is applied and the following rules will not be applied ever.

To fix this you can prepend your own rules to this rule, but make sure to use the L flag as well else the (.*) rule will overwrite it again.

That's also answered here: multiple rewriterules

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) /index.php/$1 [L] RewriteRule ^validate/([a-zA-Z0-9-/]+)$ search.php?phoneNumber=$1 RewriteRule ^validate/([a-zA-Z-0-9-]+)/ search.php?phoneNumber=$1

Your rules are in the wrong order. The last two rules (which can be combined into one) are never processed because a URL of the form /validate/16503858068 is routed to /index.php by the preceding rule.

Try it like this instead:

# Disable MutliViews
Options -MultiViews

RewriteEngine On

# Set the default handler
DirectoryIndex index.php index.html index.htm

RewriteRule ^validate/([a-zA-Z0-9-]+)/?$ search.php?phoneNumber=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [L]

Note the L flag on the first rule.

Also, you should probably disable MultiViews. For some reason you were explicitly enabling this?

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