Ded*_*ted 7 subdomain .htaccess mod-rewrite get url-rewriting
我想用htaccess重写URL以获得更好的可读URL并在PHP中使用$ _GET变量
我有时会使用子域,因此必须使用和不使用.也是url中不需要的变量.我在URL中最多使用3个变量
URL sub.mydomain.com/page/a/1/b/2/c/3应该导致sub.mydomain.com/page.php?a=1&b=2&c=3和url sub.mydomain.com/a/1/b/2/c/3应该导致到sub.mydomain.com/index.php?a=1&b=2&c=3哪里$_GET['a'] = 1
经过搜索和尝试,我想出了这个
RewriteEngine on
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6&$7=$8 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5&$6=$7 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4&$5=$6 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3&$4=$5 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)/([^/]+)$ $1.domain.com/$2.php?$3=$4 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)/([^/]+)$ $1.domain.com/index.php?$2=$3 [QSA,NC]
RewriteRule ([^/]+)\.domain.com/([^/]+)$ $1.domain.com/$2.php [L,QSA,NC]
Run Code Online (Sandbox Code Playgroud)
但我得到的是一个未找到的服务器错误
我对此并不擅长,所以也许我会监督一些事情.
此外,我希望它能够在最后使用和不使用斜杠
我应该使用RewriteCond和/或设置一些选项吗?
提前致谢.
使用时RewriteRule,您不在行中包含域名.另外,请确保先打开RewriteEngine.像这样:
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)$ index.php?$1=$2
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?$1=$2&$3=$4&$5=$6
Run Code Online (Sandbox Code Playgroud)
第一行会改写sub.mydomain.com/a/1到sub.mydomain.com/page.php?a=1,第二重写sub.mydomain.com/a/1/b/2来sub.mydomain.com/page.php?a=1&b=2,等等.
| 归档时间: |
|
| 查看次数: |
4813 次 |
| 最近记录: |