.htaccess没有文件名的URL重定向

时间:2019-06-12 05:16:48

标签: php regex .htaccess url-redirection

我的PHP页面重定向存在问题。

我担心的是我有一个名为“ page.php”的页面,该页面在重定向期间也包含一些参数。

  

www.exampleurl.com/page/param-1

在这些网址中,参数是这样的

Array
{
   [0] => www.exampleurl.com  //URL
   [1] => page  //page.php page where the page will redirect
   [2] => param-1  //GET parameter for page.php
}

使用参数在page.php上正确完成重定向

但是我需要这样的URL

  

www.exampleurl.com/param-1

使用此URL,我要求它仍重定向到page.php,而不是此URL没有“ page /”并且仅具有参数。或者,如果有人要请求名为“ page.php”的页面,则不需要“ page /”,但是该页面要在page.php上重定向

我正在使用的.htaccess规则

RewriteEngine On    # Turn on the rewriting engine
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1                   [R=301,L]

# not rewrite css, js and images
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpg|gif|png)$           [NC]
RewriteRule  ^page/(.*)$/?$         page.php?slug=$1            [NC,L]

我需要进行哪些更改?

1 个答案:

答案 0 :(得分:0)

在.ht中重写后添加此规则

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /page.php?slug=$1 [L]

将示例:/ param-1重写为/page.php?slug=param-1