.htaccess不会重定向网址,我不能使用$ _GET ['']

时间:2018-08-29 12:57:24

标签: php .htaccess

您好,我有一个使用php和mvc的网站,并且有一个链接http://localhost/kipsalahome/post?title=Title-of-the-news-2&lang=En,我想将其转换为http://localhost/kipsalahome/post/Title-of-the-news-2/En,但仍然可以使用$ _GET ['']我在htacces中使用此代码

<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On 

# Remove php extensions from a file extension

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post/([0-9a-zA-Z_-]+)/([a-zA-Z]+) post.php?title=$1&lang=$2 [QSA,NC,L]


# Hide local file structure
Options -Indexes

但可悲的是它对我没有任何帮助。我想知道我在做错什么以及如何解决。

3 个答案:

答案 0 :(得分:0)

您需要以下规则:

RewriteRule ^post/(.*)/(.*) post.php?title=$1&lang=$2

引用:https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049

答案 1 :(得分:0)

在我的测试中,上述操作正确运行:

URL:http://server/test / post / Title-of-the-news-2 / En

post.php-> print_r($ _ GET);

结果:数组([title] =>新闻标题2 [lang] => En)


要在网址中使用更多参数,请执行以下操作:

URL http://server/teste/post/Title-of-the-news-2/En?sandbox=true

post.php-> print_r($ _ GET);

resultado:数组([title] =>新闻标题2 [lang] => En [sandbox] => true)

答案 2 :(得分:0)

感谢所有人的答案,我将仔细研究所有答案,但是我找到了临时解决方案,方法是READ BIO=000000004debb98a (op=0x0), sector=2056, .bi_vcnt=1, .bi_status=0 来创建我的链接,然后在其他页面上进行分解以获取所需的变量。