2015-05-08 162 views
0

我的网址是:的.htaccess和友好的URL不工作

www.page.com/events 
www.page.com/events-item?event=title-event 

我想网址如下:

www.page.com/events - this is list of events 
www.page.com/events/item/title-event - this is event 

我.htacces:

Options +FollowSymLinks 
RewriteEngine On 

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

RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RewriteRule ^events/item/(.*)$ /events-item.php?event=$1 

XAMPP变化:

http://www.leonardaustin.com/blog/technical/enable-mod_rewrite-in-xampp/

我不知道为什么不起作用。

帮助任何人?

+0

你想'www.page.com/events-item?事件=冠军event'或'www.page.com/events-item .PHP?事件=冠军event'? – Drakes

+0

定义“不工作”!你到底在做什么,结果到底是什么? – deceze

回答

1

更改规则的顺序。把你所有的规则放在最后,而不是一开始。

RewriteEngine On 

// Rewrite this before the catch-all 
RewriteRule ^events/item/(.*)$ /events-item.php?event=$1 [L] 

// Catch-all rule for non-files, non-directories 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

结果:

HTTP : //www.page.com/jakis-title - > HTTP : //www.page.com/jakis-title.php

HTTP : //www.page.com/jakis-title.php - > HTTP : //www.page.com/jakis-title.php

HTTP : //www.page.com/events/item/title-event - > ht TP : //www.page.com/events-item.php?event=title-event

0

我纠正

Options +FollowSymLinks 
RewriteEngine On 

RewriteRule ^([^\.]+)$ $1.php [NC,L] 
RewriteRule ^event/item/(.*)$ /events-item.php?event=$1 [L] 

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

网址的工作!但是......

/事件/项目/ jakis标题

该网址工作的时候我的$ _GET [ '网址'] = 'jakis-title.php'

当删除 '.PHP'不工作

我想变量没有扩展

+0

请在'RewriteCond%{SCRIPT_FILENAME}!-f' – Drakes

+0

之后放置'RewriteRule ^([^ \。] +)$ $ 1.php [NC,L]'last!谢谢!工作! :) – Kwiatkowski