[英]htaccess make dynamic url to static url
我有一个类似的网址:
http://localhost/admin-s/index.php?m=user
但是,我想要一个这样的URL:
http://localhost/admin-s/user
我这样尝试:
RewriteRule ^([a-z0-9]+).php$ index.php?nol&m=$1 [L]
RewriteCond %{QUERY_STRING} ^m=([a-zA-Z0-9]+)$
RewriteRule ^index.php$ user%1.php [L]
怎么做?
希望这个简单的配置可以帮助您。 您可以在此处检查此配置
这会将这种模式的请求从http://localhost/admin-s/index.php?m=user
重定向到http://localhost/admin-s/user
说明:
1.如果
REQUEST_URI
是/admin-s/index.php
2.如果
QUERY_STRING
为m=someWords
3.重定向到
/admin-s/someWords
.htaccess
RewriteEngine on
Options -MultiViews
RewriteCond %{REQUEST_URI} \/admin\-s\/index\.php
RewriteCond %{QUERY_STRING} m=([\w]+)
RewriteRule ^(.*)$ /admin-s/%1? [R=301,L]
在这里回答了问题: 如何将动态URL转换为静态URL
对于您的问题,可以尝试遵循以下规则:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^admin-s/([^-]+) /index.php?m=$1 [R=301,QSA,L]
让我们知道是否可行
您可以在root / .htaccess或/admin-s/.htaccess中使用以下规则:
RewriteEngine on
#redirect /admin-s/index.php?m=user to /admin-s/user
RewriteCond %{THE_REQUEST} /admin-s/index\.php\?m=([^\s&]+) [NC]
RewriteRule ^ /admin-s/%1? [L,R]
#rewrite the new uri back to the orignal location
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?:admin-s/)?(.+)$ /admin-s/index.php?m=$1 [NC,L]
在admin-s
尝试以下操作,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)$ index.php?m=$1 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.