.htaccess 配置文件url的htaccess重写规则
这是我的.htaccess:.htaccess 配置文件url的htaccess重写规则,.htaccess,mod-rewrite,url-rewriting,rewrite,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,这是我的.htaccess: RewriteEngine on RewriteBase /site RewriteCond %{request_filename} -f RewriteRule ^(.*) $1 [L] RewriteRule ^([a-z]+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&u=$3 [L] 我正试图以这种方式创建短URL 如果有人访问www.mysite.com/johndoe,htaccess会将他/她发送到
RewriteEngine on
RewriteBase /site
RewriteCond %{request_filename} -f
RewriteRule ^(.*) $1 [L]
RewriteRule ^([a-z]+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&u=$3 [L]
我正试图以这种方式创建短URL
如果有人访问www.mysite.com/johndoe,htaccess会将他/她发送到这个链接index.php?a=profile&u=johndoe
最好的方法是什么?我确实阅读了htaccess教程并尝试了不同的方法,但失败了:/尝试反转条件并删除重写基:
RewriteEngine on
RewriteCond %{request_filename} !-f
RewriteCond %{request_filename} !-d
RewriteRule ^([^/]+)/?$ /index.php?a=profile&u=$1 [L]
这将使它成为:
如果有人访问www.mysite.com/johndoe
“johndoe”由^([^/]+)/?$
匹配,并由$1
反向引用,导致:
这个链接index.php?a=profile&u=johndoe
您所有的URL都是用于配置文件链接的吗?如果他们是,那么我可以修正这个规则。如果没有(例如,您有关于我们的
以及博客),那么您的htaccess
方法将因可能的冲突而不适用。@MikeAnthony是的,还有其他规则,所以我认为必须进行例外删除重写基础?井场位于/site文件夹下。页面通过/pagename访问。@fogsy但根据您的问题,您的URL如下:www.mysite.com/johndoe
。另外,根据您的问题,您希望它被重写为index.php?a=profile&u=johndoe
,我看不出它说的是/site/index.php?a=profile&u=johndoe
。很抱歉造成混淆。它需要是/site/name。如果我将文件移动到/那么它应该是/name only。。。这有意义吗?