2016-12-07 79 views
-2

我想将网址Category.php和Profile.php转换为网址,但只有类别它的工作。我不想使用任何匹配的组!两页网址重写无匹配组

实施例:

domain.com/category.php?id=5

domain.com/profile.php?id=2

转换为:

domain.com/categoryname

domain.com/profilename

的.htaccess代码:

RewriteEngine on 
#category 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^([^/.]*)$ category.php?id=$1 
#profile 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^([^/.]*)$ profile.php?&id=$1 

但是,这仅适用于类!

感谢

+0

这已经在这里得到了很好的回复:P – Blueblazer172

+0

您必须使用另一个匹配组profile.php,比如'profile /([^/.]*)',您不能使用相同的匹配组将数据发送到两个文件。 –

+2

可能的重复[如何使用.htaccess创建友好的URL?](http://stackoverflow.com/questions/3033407/how-can-i-create-friendly-urls-with-htaccess) – Blueblazer172

回答

0
RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^category/(\d+)*$ ./category.php?id=$1 
RewriteRule ^profile/(\d+)*$ ./profile.php?id=$1 

这应该工作。

+0

谢谢,但不行! – Sam

+0

使用'\ d'(数字)作为标识符不是要求的。你还应该明确说明你为什么修改了URL以包含前缀('category','profile')。这里需要它,但你的回答并不能说明原因。 – Antti29

+0

@Sam对不起,但我只是重新读你的问题,我必须告诉你,你需要通过domain.com/category/12/或domain.com/profile/34/将它们分开,如果你想domain.com/12 /或domain.com/34/将重定向到存在的任何一个,请将所有重定向到index.php,并使用PHP在后端加载。因为如果您使用domain.com/5/,它可以是您的类别或配置文件ID –