Php 使用htaccess创建重写url

Php 使用htaccess创建重写url,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,大家好,我正在进行一个项目,需要将此url www.domain.com/page.php?brand=abcd转换为www.domain.com/abcd 我知道这在.htaccess文件中是可能的 目前在我的htaccess文件中,我有以下代码 RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC] RewriteRule \.(gif|jpg|png)$ http://www.d

大家好,我正在进行一个项目,需要将此url www.domain.com/page.php?brand=abcd转换为www.domain.com/abcd

我知道这在.htaccess文件中是可能的 目前在我的htaccess文件中,我有以下代码

  RewriteEngine On
  RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC] 
  RewriteRule \.(gif|jpg|png)$ http://www.domain.com [L]
   RewriteCond %{HTTP_HOST} !^www\.
     RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    ErrorDocument 404 /error404.php
     ErrorDocument 403 /error404.php
    Options -Indexes 
请帮我做这件事,我应该在.htaccess文件中添加哪一行来达到这个目的 我试着加上

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

最后一条规则应该适用于内部重写到/page.php?brand=abcd

要将/page.php?brand=xiao转到/xiao,可以使用以下新规则:

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+page\.php\?brand=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /page.php?brand=$1 [L,QSA]
你可以试试这个

  Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !=443
    RewriteRule ^ http://litelmaxx.com%{REQUEST_URI} [R,L]


    Options -Indexes 

是的,您的代码正在工作,但当我将您的代码添加到我的htaccess文件中时,我以前的代码似乎不工作。站点dosent重定向404错误页面。您仍然需要在.htaccess中保留两个ErrorDocument行。另外,请尽量每个线程保留一个问题。如果此问题已解决,则接受答案并针对不同的问题发布新问题。我想将用户定向到domain.com/abcd,如果存在,否则将他们定向到404错误页面。事实上,我可以直接访问domain.com/abcd.php页面。一旦这个问题得到解决,我会接受这个答案。为什么我的网站会重定向到以前的404错误页面?/abcd怎么可能是现有页面?