我知道这个问题之前可能已被多次询问过,但我可能会被投票,但是相信我,这是我在google上测试和阅读很多文章后的最后手段。
我有我想要重写为/index.php?action=gametypes&mode=control-point
的网址/gametypes/control-point
。
我试过
RewriteEngine On
RewriteRule ^gametypes/([^/\.]+)/?$ index.php?action=gametypes&mode=$1[L]
现在,当我访问/gametypes/control-point
时,我找不到404,并且该网址显示重写为localhost/thecoremc/gametypes/control-point/index.php
。它是404,因为没有index.php。知道我可以用什么来成功加载页面吗?
额外信息:我正在使用域localhost/thecoremc/
和apache 2.4.4
谢谢!
答案 0 :(得分:1)
你可以试试这个......
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?action=$1&mode=$2 [L]
我使用虚拟域,http://www.domain.com/index.php?action=gametypes&mode=control-point来实现此目的。
根据您的评论,试试这个......
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /thecoremc/index.php?action=$1&mode=$2 [L]
基于:http://localhost/thecoremc/index.php?action=gametypes&mode=control-point
答案 1 :(得分:0)
您可以在/thecoremc/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteBase /thecoremc/
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?action=$1&mode=$2 [L,QSA]
答案 2 :(得分:0)
试试这个。这可能对您的工作有所帮助。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=(.*)&name=(.*)$
RewriteRule ^articles\.php$ /article/%1/%2? [R=301]
RewriteRule ^article/([^-]+)/([^-]+)$ /articles.php?article_id=$1&article_name=$2 [L]
以上代码将重定向
localhost/a1/articles.php?id=10&name=xyz
到
localhost/article/10/xyz
答案 3 :(得分:0)
试试这个:
Options +FollowSymLinks
RewriteEngine on
RewriteRule gametypes/(.*)/(.*)/ index.php?action=$1&mode=$2