Php 基于动态id的不同url的htaccess mod_重写

Php 基于动态id的不同url的htaccess mod_重写,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,大家好,我在url定制方面有问题,我有两种url类型 首先是 http://domain/index.php?slug=pagename 我希望它是http://domain/pagename 二是 http://domain/index.php?slug=pagename&id=id 我想把它当作 http://domain/pagename/id 我的访问权限是 RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.+)$ RewriteRu

大家好,我在url定制方面有问题,我有两种url类型

首先是

http://domain/index.php?slug=pagename

我希望它是
http://domain/pagename

二是

http://domain/index.php?slug=pagename&id=id
我想把它当作
http://domain/pagename/id

我的访问权限是

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.+)$

RewriteRule ^ https://%1%{REQUEST_URI} [L,R]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^?]*)$ index.php?slug=$1 

IndexIgnore *
试试这个:

RewriteEngine on

RewriteCond %{THE_REQUEST} /index\.php\?slug=([^&]+)&id=([^\s]+) [NC]
RewriteRule ^ %1/%2? [NC,L,R]

RewriteCond %{THE_REQUEST} /index\.php\?slug=([^\s&]+) [NC]
RewriteRule ^ %1? [NC,L,R
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^/]+)/?$ index.php?slug=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^/]+)/([^/]+)/?$ index.php?slug=$1&id=$2 [QSA,NC,L]
试试这个:

RewriteEngine on

RewriteCond %{THE_REQUEST} /index\.php\?slug=([^&]+)&id=([^\s]+) [NC]
RewriteRule ^ %1/%2? [NC,L,R]

RewriteCond %{THE_REQUEST} /index\.php\?slug=([^\s&]+) [NC]
RewriteRule ^ %1? [NC,L,R
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^/]+)/?$ index.php?slug=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^/]+)/([^/]+)/?$ index.php?slug=$1&id=$2 [QSA,NC,L]
谢谢Starkeen,但我的问题仍然是一样的,我使用你提供的代码,但它不起作用,它显示白色屏幕和一些网站plz帮助文本谢谢Starkeen,但我的问题仍然是一样的,我使用你提供的代码,但它不起作用,它显示白色屏幕和一些网站plz帮助文本