1

私は.htaccessについてあまり知識がなく、.htaccessの正規表現の概念に苦労しています。

ユーザープロファイルにFacebookと同じURLの概念が必要ですが、ダッシュ(-)、アンダースコア(_)、ドット(。)これもURLに必要ですが、現在のURLルールは次のとおりです。

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が起動しているときは正常に動作していますが、URLがdomain.com/test-testまたはtest_testまたはtest.testにリダイレクトされると `PAGE NOT FOUND PAGE

そして、abuse / *のようなルールに従うように定義された私の.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コードすべてが正常に機能していますすべてのルールが機能していますが、追加すると

#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をロードします

4

0 に答える 0