dot不在htaccess规则中定义的htaccess中工作

时间:2013-01-09 08:28:10

标签: .htaccess mod-rewrite

我对.htaccess知之甚少,而且我在.htaccess中正在使用正则表达式概念。

我想在Facebook上为用户个人资料提供相同的网址概念,但破折号( - ),下划线(_),点(。)这个我想要的网址目前我的网址规则如下:

RewriteRule ^([a-z,\_,A-Z,\_,\-,0-9.][!pagenotfound|home|abuse/*|user/*|start/*|login/*|account/*|message/*|find/*|cms/*|accountactivation/*|register/*]*)/?$  memberspersonalinfo.php?members=$1 [QSA]

此模式有一些错误

但是当我的浏览器domain.com/username正在提交它工作正常但是当网址为domain.com/test-testtest_testtest.test时,它会重定向到“PAGE NOT FOUND PAGE”/ p>

并且我的.htaccess规则定义为遵循该规则,例如滥用/ *具有动态ID,无论我使用哪个星号(*),它们都会引用动态值。当我做像

这样的规则
RewriteRule ^([a-z,\_,A-Z,\_,\-,0-9.]*)/?$  memberspersonalinfo.php?members=$1 [QSA]

它运行正常,但当我移动到主页时,它会自动调用memberspersonalinfo.php页面。

我想用htaccess脚本再次解释我的问题

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
DirectoryIndex  index.html index.php

ErrorDocument 404 /pagenotfound
ErrorDocument 403 /pagenotfound
ErrorDocument 401 /slapme/pagenotfound
ErrorDocument 500 /pagenotfound

#index
RewriteRule ^index.html$  index.php [L]
RewriteRule ^index$  index.php [L]
RewriteRule ^home$  index.php [L]

#nopage
RewriteRule ^pagenotfound$  nopage.php [L]

#Regitration
RewriteRule ^register/createaccount$  userregistration.php [L]

#Regitration Confirmation
RewriteRule ^register/accountconfirmation$  registrationconfirm.php [L]

#Activation Regitration
RewriteRule ^accountactivation/([a-z,\_,A-Z,\_,\-,0-9]*)/([a-z,\_,A-Z,=,\_,\-,0-9]*)$ registrationactivation.php?UsercontactID=$1&AccountId=$2 [L]

#after login
RewriteRule ^user/main$  after_login.php [L]

#Payment Detail
RewriteRule ^user/myaccount$  useraccount.php [L]

#Logout
RewriteRule ^user/logout$  logoutuser.php [L]

#creategroup
RewriteRule ^start/creategroup$  http://domain.com/start/creategroup [L,R=301]

#Forgot Password
RewriteRule ^user/forgotpassword$  http://domain.com/user/forgotpassword [L,R=301]

#Login
RewriteRule ^login/userlogin$  http://domain.com/login/userlogin [L,R=301]

#Remove account
RewriteRule ^account/remove$  removeuseraccount.php [L]

#Send an email page
RewriteRule ^message/?$  contacttouser.php [L,QSA]

#Report any site user page
RewriteRule ^abuse/([0-9]*)/$  reportsiteuser.php?reportUserID=$1 [L,QSA]

#CMS FIND FRIENDS PAGE
RewriteRule ^find/friend$  http://domain.com/find/friend [L,R=301]

#CMS TERMS OF USE PAGE
RewriteRule ^cms/howitworks$  howitworks.php [L]

#CMS CREATE OWN SLAP PAGE
RewriteRule ^cms/createownslap$  createownslap.php [L]

#CMS BRAND OR PRODUCT PAGE
RewriteRule ^cms/brandorproduct$  brandorproduct.php [L]

#CMS APPS AND FEATURES PAGE
RewriteRule ^cms/appsandfeatures$  appsandfeatures.php [L]

这个我的完整htaccess代码everthing工作正常所有规则正在工作,但当我添加

#group personal profile page page
RewriteCond %{REQUEST_URI} !/abuse(.*)
RewriteCond %{REQUEST_URI} !/user(.*)
RewriteCond %{REQUEST_URI} !/start(.*)
RewriteCond %{REQUEST_URI} !/login(.*)
RewriteCond %{REQUEST_URI} !/account(.*)
RewriteCond %{REQUEST_URI} !/message(.*)
RewriteCond %{REQUEST_URI} !/find(.*)
RewriteCond %{REQUEST_URI} !/cms(.*)
RewriteCond %{REQUEST_URI} !/accountactivation(.*)
RewriteCond %{REQUEST_URI} !/register(.*)
RewriteCond %{REQUEST_URI} !/social(.*)
RewriteCond %{REQUEST_URI} !/images(.*)
RewriteCond %{REQUEST_URI} !/css(.*)
RewriteCond %{REQUEST_URI} !/js(.*)
RewriteCond %{REQUEST_URI} !/userimages(.*)
RewriteRule ^([a-z,\_,A-Z,\_,\-,0-9.]+)/?$  memberspersonalinfo.php?members=$1 [QSA,L]

它总是加载memberspersonalinfo.php

0 个答案:

没有答案