Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 友好URL的htaccess重定向_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php 友好URL的htaccess重定向

Php 友好URL的htaccess重定向,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我目前有一个.htaccess文件,运行良好。到目前为止,我已经: Options +FollowSymlinks -Multiviews #first part RewriteEngine on RewriteCond %{HTTP_HOST} ^www.mydomain.net$ [NC] RewriteRule ^(.*)$ http://mydomain.net/$1 [R=301,L] #second part RewriteCond %{REQUEST_FILENAME} !-f

我目前有一个.htaccess文件,运行良好。到目前为止,我已经:

Options +FollowSymlinks -Multiviews
#first part
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.mydomain.net$ [NC]
RewriteRule ^(.*)$ http://mydomain.net/$1 [R=301,L]

#second part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ /$1/$2/$3.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

#third part
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
第一行是我需要的,因为我使用GoDaddy主机。 第一部分是将www.mydomain.net重定向到mydomain.net。 第二部分是将mydomain.net/abcd重定向到mydomain.net/abcd.php。 第三部分是去掉URL末尾的.php

现在我需要添加代码,将mydomain.net/products/?category=electronics重定向到mydomain.net/products/electronics,但我无法让它工作

我尝试添加“RewriteRule/products/(.*)$/products/?category=$1”和我在堆栈溢出中找到的许多其他代码,但它们似乎都不适合我


感谢大家抽出时间。

您的代码如下:

Options +FollowSymlinks -Multiviews

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.mydomain.net$ [NC]
RewriteRule ^(.*)$ http://mydomain.net/$1 [R=301,L]

RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

RewriteCond %{THE_REQUEST} /(products)/\?category=([^\s&]+) [NC]
RewriteRule ^ /%1/%2? [R=302,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=302,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^(products)/([^/]+)/?$ /$1/?category=$2 [L,NC,QSA]

RewriteRule ^([^/]+)/([^/]+)/?$ /$1/$2.php [L]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /$1/$2/$3.php [L]

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

非常感谢你。很有魅力。@anubhava你在这里吗?我可以问你一些事吗?也许在聊天?我问了一个问题,但由于它是一个副本,所以关闭了,但我找不到确切的副本,这就是我想与您联系的原因。。也许在聊天一分钟?哦,我明白了,如果我抓到你,今晚不会更好:)手机是用来聊天的,不是用来工作的:)谢谢,伙计!让我们。