2014-01-28 126 views
1

我正在尝试使用.htaccess来使我的网址更“漂亮”。用斜杠替换GET变量.htaccess

更改domain.com/page/val1

domain.com/page.php?var1=val1

如果可能的话,我想它有2个变量以及工作:

更改domain.com/page/val1/val2

domain.com/pa ?ge.php VAR1 = VAL1 & VAR2 = VAL2

这是我目前的.htaccess文件,它的工作原理去除PHP扩展:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

我发现其他议题有类似于添加解决方案这样的事情:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ /$1/$2?var1=$3&var2=$4 [L,QSA,NC] 

我试了很多方法来修改它,它似乎从来没有工作。

任何帮助,将不胜感激。谢谢。

回答

3

试试这个代码:

RewriteEngine on 

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

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

RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?var1=$2 [L,QSA] 

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ $1.php?var1=$2&var2=$3 [L,QSA] 
+0

谢谢。它似乎工作时,我改变了一些变量的位置。 **但**由于某种原因,样式表和图像的链接不再适用于我的页面。 – JettW

+0

我似乎已经通过使用图像/样式表的完整url解决了src问题。不是可取的,但它的工作原理。 – JettW

+0

对于漂亮的URL来说,在你的css,js,images文件中使用绝对路径总是比较好,而不是相对的。这意味着你必须确保这些文件的路径以'http://'或斜杠'/'开始。 – anubhava