与.htaccess混淆

时间:2014-01-25 21:13:25

标签: php .htaccess

我正在尝试将我的小脑袋包裹起来.htaccess如何将我有些不受欢迎的URL转换为更清晰的眼睛糖果链接。

这是我目前邋URL的网址。

expand.php?category=Mods&subcategory=Wrestlers&faction=WWE

我希望它呈现为什么,或许会是这样的?

expand/Mods/Wrestlers/WWE/

我认为这是正确的语法来执行此操作吗?因为它现在似乎没有做任何事情!

RewriteRule ^([^/]+)/([^/]+)$ expand.php?p=$1&sp=$2 [L]

如果有些聪明的家伙可以帮助我摆脱这种泡沫,我将不胜感激!

3 个答案:

答案 0 :(得分:1)

你可以这样做。您需要确保重写符合您希望内部重定向的URL,即expand.php?category=Mods&subcategory=Wrestlers&faction=WWE

所以要注意你应该能够使用它。

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^expand/([^/]+)/([^/]+)/([^/]+) expand.php?category=$1&subcategory=$2&faction=$3 [NC,L]

答案 1 :(得分:0)

尝试

^expand/(\w+)/(\w+)/(\w+)?$ expand.php?category=$1&subcategory=$2&faction=$3

答案 2 :(得分:0)

要在内部将expand/Mods/Wrestlers/WWE/重写为expand.php?category=Mods&subcategory=Wrestlers&faction=WWE,您需要制作与第一个网址匹配的正则表达式。您当前的正则表达式将匹配2个部分的网址,但您的示例网址有4个部分。我很确定这不合适; - )

那么......我们该如何解决?好吧,我们用4个部分制作正则表达式。事实上,我们知道第一部分需要等于expand,所以我们最终得到这个:

RewriteRule ^expand/([^/]+)/([^/]+)/([^/]+)/?$ /expand.php?category=$1&subcategory=$2&faction=$3 [QSA,L]

如果您将此添加到www-root中的.htaccess,我们现在转到http://example.com/expand/Mods/Wrestlers/WWE/,我们应该看到带有这些参数的expand.php输出。